Iros
Loading...
Searching...
No Matches
uniform_random_bit_generator.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/function/invoke.h
"
4
#include "
di/meta/constexpr.h
"
5
#include "
di/meta/core.h
"
6
#include "
di/meta/language.h
"
7
8
namespace
di::concepts
{
9
template
<
typename
T>
10
concept
UniformRandomBitGenerator
=
Invocable<T&>
&&
UnsignedIntegral<meta::InvokeResult<T&>
> &&
requires
{
11
{ T::min() } ->
SameAs<meta::InvokeResult<T&>
>;
12
{ T::max() } ->
SameAs<meta::InvokeResult<T&>
>;
13
requires
meta::Constexpr
<(T::min() < T::max())>::value;
14
};
15
}
16
17
namespace
di
{
18
using
concepts::UniformRandomBitGenerator
;
19
}
di::concepts::Invocable
Definition
invoke.h:58
di::concepts::SameAs
Definition
core.h:114
di::concepts::UniformRandomBitGenerator
Definition
uniform_random_bit_generator.h:10
di::concepts::UnsignedIntegral
Definition
language.h:250
constexpr.h
core.h
invoke.h
language.h
di::concepts
Definition
any_storable.h:9
di
Definition
zstring_parser.h:9
di::meta::Constexpr
A wrapper for a constexpr value.
Definition
core.h:77
libs
di
include
di
random
concepts
uniform_random_bit_generator.h
Generated by
1.13.0