arg.rst
来自「Boost provides free peer-reviewed portab」· RST 代码 · 共 96 行
RST
96 行
.. Metafunctions/Composition and Argument Binding//arg |50.. Copyright Aleksey Gurtovoy, David Abrahams 2007... 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)arg===Synopsis--------.. parsed-literal:: template< int n > struct arg; template<> struct arg<1> { template< typename A1,\ |...| typename A\ *n* = |unspecified| > struct apply { typedef A1 type; }; }; |...| template<> struct arg<\ *n*\> { template< typename A1,\ |...| typename A\ *n* > struct apply { typedef A\ *n* type; }; };Description-----------``arg<n>`` specialization is a |Metafunction Class| that return the ``n``\ th of its arguments.Header------.. parsed-literal:: #include <boost/mpl/arg.hpp>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|\] andarbitrary types |a1...an|:.. parsed-literal:: typedef apply_wrap\ *n*\< arg<\ *n*\ >,a1,\ |...|\a\ *n* >::type x;:Return type: A type.:Semantics: ``x`` is identical to ``an``.Example-------.. parsed-literal:: typedef apply_wrap\ ``5``\< arg<1>,bool,char,short,int,long >::type t1; typedef apply_wrap\ ``5``\< arg<3>,bool,char,short,int,long >::type t3; BOOST_MPL_ASSERT(( is_same< t1, bool > )); BOOST_MPL_ASSERT(( is_same< t3, short > ));See also--------|Composition and Argument Binding|, |Placeholders|, |lambda|, |bind|, |apply|, |apply_wrap|
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?