最終更新日時:
が更新

履歴 編集

BOOST_PP_ITERATE

BOOST_PP_ITERATE マクロは ファイル繰り返し を開始する。

Usage

#include BOOST_PP_ITERATE()

Remarks

このマクロへの引数は 外部で名前付けされた引数 として渡される。 これには二つの方法がある。 ひとつは BOOST_PP_FILENAME_x によるもので、 ひとつは BOOST_PP_ITERATION_PARAMS_x に寄るものである。

ファイル繰り返し を行うには3つの情報が必要である。 まず、繰り返されるファイルの名前であり、これは BOOST_PP_FILENAME_x 又は BOOST_PP_ITERATION_PARAMS_x の一部として渡される。 ファイル繰り返し 機構は、下限から上限まで (これが、2番目と3番目の 必要とされる パラメータである) の範囲の反復値で、 このファイルを繰り返しインクルードする。 これらの上限と下限は、 BOOST_PP_ITERATION_LIMITS 又は BOOST_PP_ITERATION_PARAMS_x の一部として渡される。

省略可能な4番目のパラメータを渡すことが出来る。 これは繰り返しに関するフラグである。 これらのフラグは基本的には、ある繰り返しを、同じファイルの別の繰り返しから区別するのに役立つ。 このパラメータは BOOST_PP_ITERATION_PARAMS_x によってのみ渡すことが出来る。

ファイル繰り返し の進行中は、 BOOST_PP_IS_ITERATING1 に定義される。

See Also

Requirements

Header: <boost/preprocessor/iteration/iterate.hpp>

Sample Code

// file.h
#if !BOOST_PP_IS_ITERATING

    #ifndef FILE_H_
    #define FILE_H_

    #include <boost/preprocessor/iteration/iterate.hpp>

    #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 10, "file.h"))
    #include BOOST_PP_ITERATE()

    #define BOOST_PP_FILENAME_1 "file.h"
    #define BOOST_PP_ITERATION_LIMITS (11, 20)
    #include BOOST_PP_ITERATE()

    #endif

#else

    current iteration value is BOOST_PP_ITERATION()

#endif