Back to Arangodb

Trivial Metafunction

3rdParty/boost/1.78.0/libs/mpl/doc/src/refmanual/TrivialMetafunction.rst

3.12.9.11.8 KB
Original Source

.. Metafunctions/Concepts//Trivial Metafunction |70

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.

__ Trivial Metafunctions Summary_

Expression requirements

|In the following table...| 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

.. parsed-literal::

typedef name<x>::type r;

:Precondition: x::name is a valid type-name.

:Semantics: is_same<r,x::name>::value == true.

Models

  • |first|
  • |second|
  • |base|

See also

|Metafunctions|, |Trivial Metafunctions|, |identity|

.. copyright:: Copyright 2001-2009 Aleksey Gurtovoy and David Abrahams Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)