Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/libs/mpl/doc/src/refmanual/MetafunctionClass.rst @ 12

Last change on this file since 12 was 12, checked in by landauf, 18 years ago

added boost

File size: 2.5 KB

Metafunction Class

Summary

A metafunction class is a certain form of metafunction representation that enables higher-order metaprogramming. More precisely, it's a class with a publicly-accessible nested |metafunction| called apply. Correspondingly, a metafunction class invocation is defined as invocation of its nested apply metafunction.

Expression requirements

|In the following table...| f is a |Metafunction Class|.

Expression Type Complexity
f::apply::type Any type Unspecified.
f::apply<>::type Any type Unspecified.
f::apply<a1,...an>::type Any type Unspecified.

Expression semantics

typedef f::apply::type x;
Precondition:f is a nullary |Metafunction Class|; f::apply::type is a type-name.
Semantics:x is the result of the metafunction class invocation.
typedef f::apply<>::type x;
Precondition:f is a nullary |Metafunction Class|; f::apply<>::type is a type-name.
Semantics:x is the result of the metafunction class invocation.
typedef f::apply<a1,|...|an>::type x;
Precondition:f is an n-ary metafunction class; apply is a |Metafunction|.
Semantics:x is the result of the metafunction class invocation with the actual arguments |a1...an|.

Docutils System Messages

????????????????????
Note: See TracBrowser for help on using the repository browser.