Range-v3
Range algorithms, views, and actions for the Standard Library
Logical

Description

Logical operations.

Modules

 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<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.