|
|
template<typename F > |
| decltype(auto) constexpr | cold_do (F &&f) noexcept(noexcept(f())) |
| | Performs a cold computation preventing inlining and branch prediction.
|
| |
|
template<typename Box , typename Int , typename value_type = typename Box::value_type, CONCEPT_REQUIRES_(Same< Int, value_type >{}and RandomAccessIncrementable< value_type >{}) > |
| auto | boxed_ints (Int const &from, Int const &to) |
| | Creates a range of boxed integers (e.g. boxed in a compact_optional or bounded_integer type)
|
| |
|
template<typename Box , typename value_type = typename Box::value_type, CONCEPT_REQUIRES_(RandomAccessIncrementable< value_type >{}) > |
| auto | boxed_ints (Box const &from, Box const &to) |
| | Creates a range of boxed integers (e.g. boxed in a compact_optional or bounded_integer type)
|
| |
|
template<typename Rng , CONCEPT_REQUIRES_(InputRange< Rng >{}and!ForwardRange< Rng >{}) > |
| auto | use_copy_if_single_pass (Rng &&rng) noexcept |
| | Returns a copy of a range if its SinglePass, and otherwise it returns the range (useful when one want's to iterate over a single pass range multiple times)
|
| |