命名空间
变体
操作

std::uniform_random_bit_generator

来自 cppreference.com
< cpp‎ | numeric‎ | random
 
 
 
 
定义在头文件 <random>
template< class G >

concept uniform_random_bit_generator =
    std::invocable<G&> && std::unsigned_integral<std::invoke_result_t<G&>> &&
    requires {
        { G::min() } -> std::same_as<std::invoke_result_t<G&>>;
        { G::max() } -> std::same_as<std::invoke_result_t<G&>>;
        requires std::bool_constant<(G::min() < G::max())>::value;

    };
(自 C++20 起)

概念 uniform_random_bit_generator<G> 指定 G 是均匀随机位生成器的类型,也就是说,类型为 G 的对象是一个函数对象,它返回无符号整数值,使得在可能的返回值范围内,每个值(理想情况下)都具有相等的返回概率。

[编辑] 语义要求

仅当满足以下条件时,uniform_random_bit_generator<G> 才被建模,给定类型为 G 的任何对象 g

  • g() 在范围 [G::min()G::max()] 中,
  • g() 的摊销复杂度为常数。

[编辑] 注释

为了满足要求 std::bool_constant<(G::min() < G::max())>::valueG::min()G::max() 都必须是常量表达式,比较结果必须为 true