BOOST_PP_LIST_CONS
マクロは リスト コンストラクタである。
Usage
BOOST_PP_LIST_CONS(head, tail)
Arguments
-
head
: リスト の中の要素。 -
tail
: リスト 、またはBOOST_PP_LIST_NIL
、またはBOOST_PP_NIL
のどれか 1つ。
Remarks
このマクロは新しい先頭を既存の リスト に追加するか、または BOOST_PP_LIST_NIL
から リスト を作成する。
このマクロはもはや必要でない。 たとえば、
BOOST_PP_LIST_CONS(a, BOOST_PP_LIST_CONS(b, BOOST_PP_LIST_NIL)))
は、次の明示的な書き方がある:
(a, (b, BOOST_PP_NIL))
このために、このマクロは廃止された。
See Also
Requirements
Header: <boost/preprocessor/list/adt.hpp>
Sample Code
#include <boost/preprocessor/list/adt.hpp>
#define OLD \
BOOST_PP_LIST_CONS( \
a, \
BOOST_PP_LIST_CONS( \
b, \
BOOST_PP_LIST_CONS( \
c, \
BOOST_PP_LIST_NIL \
) \
) \
) \
/**/
#define NEW (a, (b, (c, BOOST_PP_NIL)))
BOOST_PP_LIST_FIRST(OLD) == BOOST_PP_LIST_FIRST(NEW)
// a == a に展開される
BOOST_PP_LIST_REST(OLD) == BOOST_PP_LIST_REST(NEW)
// (b, (c, BOOST_PP_NIL)) == (b, (c, BOOST_PP_NIL)) に展開される