Front Page / Metafunctions / Concepts / Trivial Metafunction

Trivial Metafunction

Description

A Trivial Metafunction accepts a single argument of a class type x and returns the x's nested type member x::name, where name is a placeholder token for the actual member's name accessed by a specific metafunction's instance. By convention, all trivial metafunctions in MPL are named after the members they provide assess to. For instance, a Trivial Metafunction named first reaches for the x's nested member ::first.

Expression requirements

In the following table and subsequent specifications, name is placeholder token for the names of the Trivial Metafunction itself and the accessed member, and x is a class type such that x::name is a valid type-name.

Expression Type Complexity
name<x>::type Any type Constant time.

Expression semantics

typedef name<x>::type r;
Precondition:x::name is a valid type-name.
Semantics:is_same<r,x::name>::value == true.

Models

See also

Metafunctions, Trivial Metafunctions, identity