C++ named requirements: UnaryTypeTrait (since C++11)
From cppreference.com
C++
C++ named requirements
|
|
|
A UnaryTypeTrait is a class template that describes a property of its template type parameter with an std::integral_constant (typically std::bool_constant ) specialization.
Requirements
- DefaultConstructible and CopyConstructible .
- Takes one template type parameter (additional template parameters are optional and allowed).
- Publicly and unambiguously derived from a specialization of std::integral_constant , known as its base characteristic .
- The member names of the base characteristic are not hidden and are unambiguously available.
Standard library
The following type traits all satisfy UnaryTypeTrait :
- Primary type categories
- Composite type categories
- Type properties
- Supported operations
- Property queries
The following standard library class templates also satisfy UnaryTypeTrait .
(C++11)
|
compile-time constant of specified type with specified value
(class template) |
(C++17)
|
logical NOT metafunction
(class template) |
(C++11)
|
obtains the size of
a
|
(C++11)
|
obtains the size of an
array
(class template specialization) |
(C++11)
|
obtains the size of a
pair
(class template specialization) |
(C++17)
|
obtains the size of the
variant
's list of alternatives at compile time
(class template) (variable template) |
(C++11)
|
indicates that an object is
std::bind
expression or can be used as one
(class template) |
(C++11)
|
indicates that an object is a standard placeholder or can be used as one
(class template) |
(C++17)
|
test whether a class represents an execution policy
(class template) |
Retrieved from "
https://en.cppreference.com/mwiki/index.php?title=cpp/named_req/UnaryTypeTrait&oldid=161475
"