std::experimental::negation (3) - Linux Manuals

std::experimental::negation: std::experimental::negation


std::experimental::negation - std::experimental::negation


Defined in header <experimental/type_traits>
template<class B> (1) (library fundamentals TS v2)
struct negation;

Forms the logical negation of the type trait B.
The type negation<B> is a UnaryTypeTrait with a BaseCharacteristic of std::integral_constant<bool, !bool(B::value)>.

Template parameters

B - any type such that the expression bool(B::value) is a valid constant expression

Helper variable template

template<class B> (library fundamentals TS v2)
constexpr bool negation_v = negation<B>::value;

Inherited from std::integral_constant

Member constants

value true if B has a member ::value such that !bool(B::value) is true , false otherwise
         (public static member constant)

Member functions

              converts the object to bool, returns value
operator bool (public member function)

operator() returns value
              (public member function)

Member types

Type Definition
value_type bool
type std::integral_constant<bool, value>

Possible implementation

  template<class B>
  struct negation : std::integral_constant<bool, !bool(B::value)> { };


 This section is incomplete
 Reason: no example

See also

negation logical NOT metafunction
         (class template)