mirror of
https://github.com/boostorg/preprocessor.git
synced 2025-07-13 20:46:34 +02:00
Added BOOST_PP_FOR
[SVN r12369]
This commit is contained in:
@ -26,6 +26,7 @@ Includes all PREPROCESSOR library headers.
|
|||||||
#include <boost/preprocessor/enum_params_with_a_default.hpp>
|
#include <boost/preprocessor/enum_params_with_a_default.hpp>
|
||||||
#include <boost/preprocessor/enum_params_with_defaults.hpp>
|
#include <boost/preprocessor/enum_params_with_defaults.hpp>
|
||||||
#include <boost/preprocessor/enum_shifted_params.hpp>
|
#include <boost/preprocessor/enum_shifted_params.hpp>
|
||||||
|
#include <boost/preprocessor/for.hpp>
|
||||||
#include <boost/preprocessor/limits.hpp>
|
#include <boost/preprocessor/limits.hpp>
|
||||||
#include <boost/preprocessor/logical.hpp>
|
#include <boost/preprocessor/logical.hpp>
|
||||||
#include <boost/preprocessor/max.hpp>
|
#include <boost/preprocessor/max.hpp>
|
||||||
|
24
test/for_test.cpp
Normal file
24
test/for_test.cpp
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
// Copyright (C) 2001
|
||||||
|
// Housemarque Oy
|
||||||
|
// http://www.housemarque.com
|
||||||
|
//
|
||||||
|
// Permission to copy, use, modify, sell and distribute this software is
|
||||||
|
// granted provided this copyright notice appears in all copies. This
|
||||||
|
// software is provided "as is" without express or implied warranty, and
|
||||||
|
// with no claim as to its suitability for any purpose.
|
||||||
|
|
||||||
|
// See http://www.boost.org for most recent version.
|
||||||
|
|
||||||
|
#include <boost/preprocessor/for.hpp>
|
||||||
|
#include <boost/preprocessor/comparison/less_equal.hpp>
|
||||||
|
#include <boost/preprocessor/inc.hpp>
|
||||||
|
|
||||||
|
#include <libs/preprocessor/test/test.hpp>
|
||||||
|
|
||||||
|
// ***
|
||||||
|
|
||||||
|
#define C(D,X) BOOST_PP_LESS_EQUAL(X,4)
|
||||||
|
#define F(D,X) BOOST_PP_INC(X)
|
||||||
|
#define I(D,X) -X
|
||||||
|
|
||||||
|
TEST(11 BOOST_PP_FOR(0,C,F,I))
|
@ -25,17 +25,17 @@
|
|||||||
#define ENUM_PARAMS_TEST_MAX 50
|
#define ENUM_PARAMS_TEST_MAX 50
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CONSTANT(I,A) const A##I = I;
|
#define CONSTANT(I,A) const BOOST_PP_CAT(A,I) = I;
|
||||||
BOOST_PP_REPEAT(ENUM_PARAMS_TEST_MAX, CONSTANT, int default_param_)
|
BOOST_PP_REPEAT(ENUM_PARAMS_TEST_MAX, CONSTANT, int default_param_)
|
||||||
#undef CONSTANT
|
#undef CONSTANT
|
||||||
|
|
||||||
#define TEST_ENUM_PARAMS(N)\
|
#define TEST_ENUM_PARAMS(N)\
|
||||||
void BOOST_PP_CAT(test_enum_params,N)(\
|
void BOOST_PP_CAT(test_enum_params,N)(\
|
||||||
BOOST_PP_ENUM_PARAMS(N, double x));\
|
BOOST_PP_ENUM_PARAMS(N, int x));\
|
||||||
void BOOST_PP_CAT(test_enum_params_with_a_default,N)(\
|
void BOOST_PP_CAT(test_enum_params_with_a_default,N)(\
|
||||||
BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(N, double x, 0));\
|
BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(N, int x, 0));\
|
||||||
void BOOST_PP_CAT(test_enum_params_with_defaults,N)(\
|
void BOOST_PP_CAT(test_enum_params_with_defaults,N)(\
|
||||||
BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(N, double x, default_param_));
|
BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS(N, int x, default_param_));
|
||||||
|
|
||||||
TEST_ENUM_PARAMS(0)
|
TEST_ENUM_PARAMS(0)
|
||||||
TEST_ENUM_PARAMS(ENUM_PARAMS_TEST_MAX)
|
TEST_ENUM_PARAMS(ENUM_PARAMS_TEST_MAX)
|
||||||
|
Reference in New Issue
Block a user