BOOST_PP_ENUM_BINARY_PARAMS_Z マクロはコンマで区切られた二項パラメータリストを生成する。 これは BOOST_PP_REPEAT に最も効率よく再入する。

#### Usage

BOOST_PP_ENUM_BINARY_PARAMS_Z(z, count, p1, p2)

#### Arguments

z
  利用可能な次の BOOST_PP_REPEAT の次元。
count
  生成するパラメータの数。 有効な値の範囲は 0 から BOOST_PP_LIMIT_REPEAT まで。
p1
  パラメータの第一部分のテキスト部。 BOOST_PP_ENUM_BINARY_PARAMS_Z（※訳注：原文では BOOST_PP_ENUM_BINARY_PARAMS。間違いか）は生成したパラメータと 0 から count - 1 までの範囲の数字とを結合する。
p2
  パラメータの第二（※訳注：原文では first。間違いか）部分のテキスト部。 BOOST_PP_ENUM_BINARY_PARAMS_Z（※訳注：原文では BOOST_PP_ENUM_BINARY_PARAMS。間違いか） は生成したパラメータと 0 から count - 1 までの範囲の数字とを結合する。

#### Remarks

このマクロはコンマ区切りのシーケンスに展開される:
p1 ## 0 p2 ## 0, p1 ## 1 p2 ## 1, ... p1 ## count - 1 p2 ## count - 1
このマクロは BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT と BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS の代わりとなる。

#### See Also

- BOOST_PP_ENUM_BINARY_PARAMS
- BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT
- BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS
- BOOST_PP_LIMIT_REPEAT

#### Requirements

Header: <boost/preprocessor/repetition/enum_binary_params.hpp>

#### Sample Code

    #include <boost/preprocessor/arithmetic/inc.hpp>
    #include <boost/preprocessor/repetition/enum_binary_params.hpp>
    #include <boost/preprocessor/repetition/enum_params.hpp>

    #define FUNCTION(z, n, _) \
       template<BOOST_PP_ENUM_PARAMS_Z(z, BOOST_PP_INC(n), class T)> \
       void f(BOOST_PP_ENUM_BINARY_PARAMS_Z(z, BOOST_PP_INC(n), T, p)) { \
          /* ... */ \
       } \
       /**/

    BOOST_PP_REPEAT(2, FUNCTION, nil)
    /*
       template<class T0> void f(T0 p0) { }
       template<class T0, class T1> void f(T0 p0, T1 p1) { }
       に展開される
    */