最終更新日時:
が更新

履歴 編集

BOOST_PP_LIST_CONS

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)) に展開される