Go to the documentation of this file.
24 #ifndef ABSL_RANDOM_BIT_GEN_REF_H_
25 #define ABSL_RANDOM_BIT_GEN_REF_H_
28 #include <type_traits>
31 #include "absl/base/internal/fast_type_id.h"
32 #include "absl/base/macros.h"
33 #include "absl/meta/type_traits.h"
34 #include "absl/random/internal/distribution_caller.h"
35 #include "absl/random/internal/fast_uniform_bits.h"
39 namespace random_internal {
41 template <
typename URBG,
typename =
void,
typename =
void,
typename =
void>
44 template <
typename URBG>
48 typename URBG::result_type,
49 typename std::decay<decltype((URBG::min)())>::type>::value>,
51 typename URBG::result_type,
52 typename std::decay<decltype((URBG::max)())>::type>::value>,
54 typename URBG::result_type,
55 typename std::decay<decltype(std::declval<URBG>()())>::type>::value>>
93 template <
template <
class...>
class Trait,
class AlwaysVoid,
class...
Args>
95 template <
template <
class...>
class Trait,
class...
Args>
101 std::declval<base_internal::FastTypeIdType>(), std::declval<void*>(),
102 std::declval<void*>()));
104 template <
typename T>
122 template <
typename URBG,
148 template <
typename URBG>
153 return fast_uniform_bits(*
reinterpret_cast<URBG*
>(
ptr));
157 template <
typename URBG>
159 void*
result,
void* arg_tuple) {
178 friend struct ::absl::random_internal::DistributionCaller;
179 friend class ::absl::random_internal::MockHelpers;
185 #endif // ABSL_RANDOM_BIT_GEN_REF_H_
BitGenRef(const BitGenRef &)=default
integral_constant< bool, true > true_type
integral_constant< bool, false > false_type
typename std::enable_if< B, T >::type enable_if_t
#define ABSL_NAMESPACE_END
static result_type ImplFn(uintptr_t ptr)
impl_fn generate_impl_fn_
BitGenRef & operator=(const BitGenRef &)=default
#define ABSL_NAMESPACE_BEGIN
static constexpr result_type() max()
bool(*)(uintptr_t, base_internal::FastTypeIdType, void *, void *) mock_call_fn
result_type(*)(uintptr_t) impl_fn
typename detector< invoke_mock_t, void, T >::type HasInvokeMock
const void * FastTypeIdType
unsigned __int64 uint64_t
OPENSSL_EXPORT GENERAL_NAME * gen
_W64 unsigned int uintptr_t
bool InvokeMock(base_internal::FastTypeIdType type, void *args_tuple, void *result)
typename type_traits_internal::VoidTImpl< Ts... >::type void_t
static bool NotAMock(uintptr_t, base_internal::FastTypeIdType, void *, void *)
static constexpr result_type() min()
static bool MockCall(uintptr_t gen_ptr, base_internal::FastTypeIdType type, void *result, void *arg_tuple)
uintptr_t t_erased_gen_ptr_
decltype(std::declval< T * >() ->InvokeMock(std::declval< base_internal::FastTypeIdType >(), std::declval< void * >(), std::declval< void * >())) invoke_mock_t
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:48