Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

added boost

File size: 1.9 KB

arg

Synopsis

template< int n > struct arg;
template<> struct arg<1>
{
    template< typename A1,|...| typename An = |unspecified| >
    struct apply
    {
        typedef A1 type;
    };
};
|...|
template<> struct arg<n>
{
    template< typename A1,|...| typename An >
    struct apply
    {
        typedef An type;
    };
};

Description

arg<n> specialization is a |Metafunction Class| that return the nth of its arguments.

Parameters

Parameter Requirement Description
n An integral constant A number of argument to return.

Expression semantics

For any integral constant n in the range [1, |BOOST_MPL_LIMIT_METAFUNCTION_ARITY|] and arbitrary types |a1...an|:

typedef apply_wrapn< arg<n>,a1,|...|an >::type x;
Return type:A type.
Semantics:x is identical to an.

Example

typedef apply_wrap5< arg<1>,bool,char,short,int,long >::type t1;
typedef apply_wrap5< arg<3>,bool,char,short,int,long >::type t3;
BOOST_MPL_ASSERT(( is_same< t1, bool > ));
BOOST_MPL_ASSERT(( is_same< t3, short > ));

Docutils System Messages

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