| Technical Specification | ||||
| Filesystem library(filesystem TS) | ||||
| Library fundamentals(library fundamentals TS) | ||||
| Library fundamentals 2(library fundamentals TS v2) | ||||
| Library fundamentals 3(library fundamentals TS v3) | ||||
| Extensions for parallelism(parallelism TS) | ||||
| Extensions for parallelism 2(parallelism TS v2) | ||||
| Extensions for concurrency(concurrency TS) | ||||
| Extensions for concurrency 2(concurrency TS v2) | ||||
| Concepts(concepts TS) | ||||
| Ranges(ranges TS) | ||||
| Reflection(reflection TS) | ||||
| Mathematical special functions(special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
![]() | Merged into ISO C++ The functionality described on this page was merged into the mainline ISO C++ standard as of 2/2016, seestd::negation(since C++17) |
Defined in header <experimental/type_traits> | ||
template<class B> struct negation; | (1) | (library fundamentals TS v2) |
Forms the logical negation of the type traitB.
The typenegation<B> is aUnaryTypeTrait with a base characteristic ofstd::integral_constant<bool,!bool(B::value)>.
Contents |
| B | - | any type such that the expressionbool(B::value) is a valid constant expression |
template<class B> constexprbool negation_v= negation<B>::value; | (library fundamentals TS v2) | |
value [static] | true ifB has a member::value such that!bool(B::value) istrue,false otherwise(public static member constant) |
operator bool | converts the object tobool, returnsvalue (public member function) |
operator() (C++14) | returnsvalue (public member function) |
| Type | Definition |
value_type | bool |
type | std::integral_constant<bool, value> |
template<class B>struct negation:std::integral_constant<bool,!bool(B::value)>{}; |
| This section is incomplete Reason: no example |
(C++17) | logical NOT metafunction (class template)[edit] |