Go to the documentation of this file.
15 #ifndef ABSL_RANDOM_INTERNAL_SALTED_SEED_SEQ_H_
16 #define ABSL_RANDOM_INTERNAL_SALTED_SEED_SEQ_H_
20 #include <initializer_list>
23 #include <type_traits>
27 #include "absl/container/inlined_vector.h"
28 #include "absl/meta/type_traits.h"
29 #include "absl/random/internal/seed_material.h"
30 #include "absl/types/optional.h"
31 #include "absl/types/span.h"
35 namespace random_internal {
45 template <
typename SSeq>
53 template <
typename Iterator>
67 template <
typename RandomAccessIterator>
77 std::is_same<RandomAccessIterator,
85 template <
typename OutIterator>
99 template <
typename Contiguous>
112 template <
typename RandomAccessIterator>
114 RandomAccessIterator,
size_t n) {
129 template <
typename T,
typename =
void>
132 template <
typename T>
134 T, typename
std::enable_if<std::is_same<
135 T, SaltedSeedSeq<typename T::inner_sequence_type>>::value>
::type>
146 return SSeq(std::forward<SSeq>(seq));
157 seq.param(std::back_inserter(
data));
165 #endif // ABSL_RANDOM_INTERNAL_SALTED_SEED_SEQ_H_
typename SSeq::result_type result_type
static int copy(grpc_slice_buffer *input, grpc_slice_buffer *output)
integral_constant< bool, true > true_type
typename std::conditional< B, T, F >::type conditional_t
integral_constant< bool, false > false_type
SaltedSeedSeq(Iterator begin, Iterator end)
typename std::enable_if< B, T >::type enable_if_t
memory_internal::MakeUniqueResult< T >::scalar make_unique(Args &&... args)
#define ABSL_NAMESPACE_END
const typedef MCPhysReg * iterator
#define T(upbtypeconst, upbtype, ctype, default_value)
SSeq MakeSaltedSeedSeq(SSeq &&seq)
SaltedSeedSeq & operator=(const SaltedSeedSeq &)=delete
SaltedSeedSeq(std::initializer_list< T > il)
void generate(RandomAccessIterator begin, RandomAccessIterator end)
#define ABSL_NAMESPACE_BEGIN
constexpr T value_or(U &&v) const &
const typedef int * result_type
void generate_impl(ContiguousAndUint32Tag, Contiguous begin, Contiguous end, size_t n)
typename std::enable_if< C, int >::type EnableIf
void MixIntoSeedMaterial(absl::Span< const uint32_t > sequence, absl::Span< uint32_t > seed_material)
void generate_impl(DefaultTag, RandomAccessIterator begin, RandomAccessIterator, size_t n)
std::unique_ptr< SSeq > seq_
void param(OutIterator out) const
absl::optional< uint32_t > GetSaltMaterial()
constexpr Span< const T > MakeConstSpan(T *ptr, size_t size) noexcept
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:09