Horizon
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<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_<list<Args...>>>
 Select one type or another depending on a compile-time Boolean.
template<bool B>
using meta::not_c = bool_<!B>
 Logically negate the Boolean parameter.
template<META_TYPE_CONSTRAINT(integral) B>
using meta::not_ = not_c<B::type::value>
 Logically negate the integral constant-wrapped Boolean parameter.
template<META_TYPE_CONSTRAINT(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<typename... Bs>
using meta::and_ = _t<defer<detail::_and_<0 == sizeof...(Bs)>::template invoke, Bs...>>
 Logically AND together all the integral constant-wrapped Boolean parameters, with short-circuiting.
template<META_TYPE_CONSTRAINT(integral)... Bs>
using meta::strict_or_ = or_c<Bs::type::value...>
 Logically OR together all the integral constant-wrapped Boolean parameters, without short-circuiting.
template<typename... Bs>
using meta::or_ = _t<defer<detail::_or_<0 == sizeof...(Bs)>::template invoke, Bs...>>
 Logically OR together all the integral constant-wrapped Boolean parameters, with short-circuiting.

Detailed Description

Logical operations.