std::experimental::negation
From cppreference.com
< cpp | experimental
C++
Experimental
| 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 |
Library fundamentals v2
|
|
Merged into ISO C++ The functionality described on this page was merged into the mainline ISO C++ standard as of 2/2016, see std::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 trait B.
The type negation<B> is a UnaryTypeTrait with a base characteristic of std::integral_constant<bool, !bool(B::value)>.
Contents |
[edit] Template parameters
| B | - | any type such that the expression bool(B::value) is a valid constant expression |
[edit] Helper variable template
| template< class B > constexpr bool negation_v = negation<B>::value; |
(library fundamentals TS v2) | |
Inherited from std::integral_constant
Member constants
| value [static] |
true if B has a member ::value such that !bool(B::value) is true, false otherwise (public static member constant) |
Member functions
| operator bool |
converts the object to bool, returns value (public member function) |
| operator() (C++14) |
returns value (public member function) |
Member types
| Type | Definition |
value_type
|
bool |
type
|
std::integral_constant<bool, value> |
[edit] Possible implementation
template<class B> struct negation : std::integral_constant<bool, !bool(B::value)> {}; |
[edit] Example
| This section is incomplete Reason: no example |
[edit] See also
| (C++17) |
logical NOT metafunction (class template) [edit] |