16 namespace trig_condition
18 template <
int trig,
int size >
21 static_assert( trig > 0 );
22 static_assert( trig <= size );
27 const auto result = ( current_++ == ( trig - 1 ) );
33 mutable int current_{0};
39 explicit random(
int percent ) : percent_( percent )
45 using clock = std::chrono::system_clock;
47 static const auto seed =
48 clock::from_time_t( std::time(
nullptr ) ).time_since_epoch().count();
49 static std::minstd_rand engine( seed );
50 static std::uniform_int_distribution< int > distribution{};
52 return distribution( engine, std::uniform_int_distribution< int >::param_type{
bool operator()() const noexcept
Definition: trig_condition.hpp:25
Definition: trig_condition.hpp:36
bool operator()() const
Definition: trig_condition.hpp:43
Definition: trig_condition.hpp:19
random(int percent)
Definition: trig_condition.hpp:39