Namespaces
Variants
Views
Actions

cpp/named req/UnaryTypeTrait

From cppreference.com
< cpp‎ | named req
Revision as of 09:29, 2 January 2018 by Ybab321 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Template:cpp/concept/title Template:cpp/concept/navbar

A Template:concept is a class template that describes a property of its template type parameter with a intergral_constant (typically bool_constant) specialization.

Requirements

  • Template:concept and Template:concept
  • Takes one template type parameter (additional template parameters are optional and allowed)
  • Publicly and unambiguously derived from a specialization of intergral_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 properties all satisfy Template:concept.

  • Primary type categories
  • Composite type categories
  • Type properties
  • Supported operations
  • Property queries

The following standard library class templates also satisfy Template:concept.

compile-time constant of specified type with specified value
(class template) [edit]
(C++17)
logical NOT metafunction
(class template) [edit]
obtains the size of

a tuple
(class template specialization) [edit]

obtains the size of an array
(class template specialization) [edit]
obtains the size of a pair
(class template specialization) [edit]
obtains the size of the variant's list of alternatives at compile time
(class template) (variable template)[edit]
indicates that an object is std::bind expression or can be used as one
(class template) [edit]
indicates that an object is a standard placeholder or can be used as one
(class template) [edit]
test whether a class represents an execution policy
(class template) [edit]