BOOST_PP_MAX_D
マクロは第2引数と第3引数のうち大きい方に展開される。 これは、最も効率的に BOOST_PP_WHILE
に再入する。
Usage
BOOST_PP_MAX_D(d, x, y)
Arguments
-
d
: 利用可能な次のBOOST_PP_WHILE
の繰り返し。 -
x
: 第1のオペランド。 有効な値の範囲は0
からBOOST_PP_LIMIT_MAG
までである。 -
y
: 第2のオペランド。 有効な値の範囲は0
からBOOST_PP_LIMIT_MAG
までである。
Remarks
このマクロは二つの引数のうち大きい方を、または両方が等しければその値を返す。
See Also
Requirements
Header: <boost/preprocessor/selection/max.hpp>
Sample Code
#include <boost/preprocessor/list/fold_left.hpp>
#include <boost/preprocessor/selection/max.hpp>
#define LIST (1, (3, (5, (2, (4, BOOST_PP_NIL)))))
#define OP(d, state, x) BOOST_PP_MAX_D(d, state, x)
#define LIST_MAX(list) BOOST_PP_LIST_FOLD_LEFT(OP, 0, LIST)
LIST_MAX(LIST) // expands to 5