Range-v3
Range algorithms, views, and actions for the Standard Library
 
Loading...
Searching...
No Matches
Logical

Logical operations More...

Topics

 lazy
 
 

Classes

struct  meta::or_c< Bs >
 Logically OR together all the Boolean parameters. More...
 

Typedefs

template<typename... Bs>
using meta::and_ = _t<detail::_and_<Bs...>>
 Logically AND together all the integral constant-wrapped Boolean parameters, with short-circuiting.
 
template<bool If, typename Then , typename Else = void>
using meta::conditional_t = typename detail::_cond<If>::template invoke<Then, Else>
 Select one type or another depending on a compile-time Boolean.
 
template<typename... Args>
using meta::if_ = _t<detail::_if_<Args...>>
 Select one type or another depending on a compile-time Boolean.
 
template<bool If, typename... Args>
using meta::if_c = _t<detail::_if_<bool_<If>, Args...>>
 Select one type or another depending on a compile-time Boolean.
 
template<integral B>
using meta::not_ = not_c<B::type::value>
 Logically negate the integral constant-wrapped Boolean parameter.
 
template<bool B>
using meta::not_c = bool_<!B>
 Logically negate the Boolean parameter.
 
template<typename... Bs>
using meta::or_ = _t<detail::_or_<Bs...>>
 Logically OR together all the integral constant-wrapped Boolean parameters, with short-circuiting.
 
template<integral ... Bs>
using meta::strict_and_ = and_c<Bs::type::value...>
 Logically AND together all the integral constant-wrapped Boolean parameters, without short-circuiting.
 
template<integral ... Bs>
using meta::strict_or_ = or_c<Bs::type::value...>
 Logically OR together all the integral constant-wrapped Boolean parameters, without short-circuiting.
 

Detailed Description

Logical operations