|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r73467 - in sandbox/variadic_macro_data: boost/variadic_macro_data boost/variadic_macro_data/detail libs/variadic_macro_data/test
From: eldiener_at_[hidden]
Date: 2011-07-31 13:02:36
Author: eldiener
Date: 2011-07-31 13:02:35 EDT (Sun, 31 Jul 2011)
New Revision: 73467
URL: http://svn.boost.org/trac/boost/changeset/73467
Log:
Updated tests and support for native and pplib versions.
Text files modified:
sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail.hpp | 176 --------------------
sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_setup.hpp | 10
sandbox/variadic_macro_data/boost/variadic_macro_data/vmd.hpp | 332 +--------------------------------------
sandbox/variadic_macro_data/libs/variadic_macro_data/test/Jamfile.v2 | 34 +++
sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data.cpp | 7
sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_array.cpp | 8
sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_list.cpp | 7
sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_sequence.cpp | 7
sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_tuple.cpp | 7
9 files changed, 83 insertions(+), 505 deletions(-)
Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail.hpp 2011-07-31 13:02:35 EDT (Sun, 31 Jul 2011)
@@ -1,177 +1,17 @@
#if !defined(VMD_DETAIL_HPP)
#define VMD_DETAIL_HPP
-#include <boost/config.hpp>
+#include "vmd_detail_setup.hpp"
-#if !defined(BOOST_NO_VARIADIC_MACROS)
+#if BOOST_VMD_VARIADICS
-#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/preprocessor/tuple/reverse.hpp>
-#include <boost/preprocessor/tuple/to_list.hpp>
-#include <boost/preprocessor/tuple/to_seq.hpp>
-#include <boost/preprocessor/tuple/rem.hpp>
-
-#if defined(BOOST_MSVC)
-#include <boost/preprocessor/facilities/empty.hpp>
-#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-#define VMD_DETAIL_VD_CAT(a, b) VMD_DETAIL_VD_CAT_I(a, b)
-#else
-#define VMD_DETAIL_VD_CAT(a, b) VMD_DETAIL_VD_CAT_OO((a, b))
-#define VMD_DETAIL_VD_CAT_OO(par) VMD_DETAIL_VD_CAT_I ## par
-#endif
-#if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-#define VMD_DETAIL_VD_CAT_I(a, b) a ## b
+#if BOOST_VMD_PPLIB
+#include "vmd_detail_pplib.hpp"
#else
-#define VMD_DETAIL_VD_CAT_I(a, b) VMD_DETAIL_VD_CAT_II(a ## b)
-#define VMD_DETAIL_VD_CAT_II(res) res
-#endif
-#endif // defined(BOOST_MSVC)
-
-#define VMD_DETAIL_DATA_ELEM_0(p0, ...) p0
-#define VMD_DETAIL_DATA_ELEM_1(p0, p1, ...) p1
-#define VMD_DETAIL_DATA_ELEM_2(p0, p1, p2, ...) p2
-#define VMD_DETAIL_DATA_ELEM_3(p0, p1, p2, p3, ...) p3
-#define VMD_DETAIL_DATA_ELEM_4(p0, p1, p2, p3, p4, ...) p4
-#define VMD_DETAIL_DATA_ELEM_5(p0, p1, p2, p3, p4, p5, ...) p5
-#define VMD_DETAIL_DATA_ELEM_6(p0, p1, p2, p3, p4, p5, p6, ...) p6
-#define VMD_DETAIL_DATA_ELEM_7(p0, p1, p2, p3, p4, p5, p6, p7, ...) p7
-#define VMD_DETAIL_DATA_ELEM_8(p0, p1, p2, p3, p4, p5, p6, p7, p8, ...) p8
-#define VMD_DETAIL_DATA_ELEM_9(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, ...) p9
-#define VMD_DETAIL_DATA_ELEM_10(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, ...) p10
-#define VMD_DETAIL_DATA_ELEM_11(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, ...) p11
-#define VMD_DETAIL_DATA_ELEM_12(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, ...) p12
-#define VMD_DETAIL_DATA_ELEM_13(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, ...) p13
-#define VMD_DETAIL_DATA_ELEM_14(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, ...) p14
-#define VMD_DETAIL_DATA_ELEM_15(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, ...) p15
-#define VMD_DETAIL_DATA_ELEM_16(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, ...) p16
-#define VMD_DETAIL_DATA_ELEM_17(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, ...) p17
-#define VMD_DETAIL_DATA_ELEM_18(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, ...) p18
-#define VMD_DETAIL_DATA_ELEM_19(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, ...) p19
-#define VMD_DETAIL_DATA_ELEM_20(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, ...) p20
-#define VMD_DETAIL_DATA_ELEM_21(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, ...) p21
-#define VMD_DETAIL_DATA_ELEM_22(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, ...) p22
-#define VMD_DETAIL_DATA_ELEM_23(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, ...) p23
-#define VMD_DETAIL_DATA_ELEM_24(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, ...) p24
-#define VMD_DETAIL_DATA_ELEM_25(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, ...) p25
-#define VMD_DETAIL_DATA_ELEM_26(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, ...) p26
-#define VMD_DETAIL_DATA_ELEM_27(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, ...) p27
-#define VMD_DETAIL_DATA_ELEM_28(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, ...) p28
-#define VMD_DETAIL_DATA_ELEM_29(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, ...) p29
-#define VMD_DETAIL_DATA_ELEM_30(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, ...) p30
-#define VMD_DETAIL_DATA_ELEM_31(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, ...) p31
-#define VMD_DETAIL_DATA_ELEM_32(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, ...) p32
-#define VMD_DETAIL_DATA_ELEM_33(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, ...) p33
-#define VMD_DETAIL_DATA_ELEM_34(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, ...) p34
-#define VMD_DETAIL_DATA_ELEM_35(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, ...) p35
-#define VMD_DETAIL_DATA_ELEM_36(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, ...) p36
-#define VMD_DETAIL_DATA_ELEM_37(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, ...) p37
-#define VMD_DETAIL_DATA_ELEM_38(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, ...) p38
-#define VMD_DETAIL_DATA_ELEM_39(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, ...) p39
-#define VMD_DETAIL_DATA_ELEM_40(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, ...) p40
-#define VMD_DETAIL_DATA_ELEM_41(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, ...) p41
-#define VMD_DETAIL_DATA_ELEM_42(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, ...) p42
-#define VMD_DETAIL_DATA_ELEM_43(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, ...) p43
-#define VMD_DETAIL_DATA_ELEM_44(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, ...) p44
-#define VMD_DETAIL_DATA_ELEM_45(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, ...) p45
-#define VMD_DETAIL_DATA_ELEM_46(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, ...) p46
-#define VMD_DETAIL_DATA_ELEM_47(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, ...) p47
-#define VMD_DETAIL_DATA_ELEM_48(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, ...) p48
-#define VMD_DETAIL_DATA_ELEM_49(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, ...) p49
-#define VMD_DETAIL_DATA_ELEM_50(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, ...) p50
-#define VMD_DETAIL_DATA_ELEM_51(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, ...) p51
-#define VMD_DETAIL_DATA_ELEM_52(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, ...) p52
-#define VMD_DETAIL_DATA_ELEM_53(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, ...) p53
-#define VMD_DETAIL_DATA_ELEM_54(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, ...) p54
-#define VMD_DETAIL_DATA_ELEM_55(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, ...) p55
-#define VMD_DETAIL_DATA_ELEM_56(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, ...) p56
-#define VMD_DETAIL_DATA_ELEM_57(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, ...) p57
-#define VMD_DETAIL_DATA_ELEM_58(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, ...) p58
-#define VMD_DETAIL_DATA_ELEM_59(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59, ...) p59
-#define VMD_DETAIL_DATA_ELEM_60(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59, p60, ...) p60
-#define VMD_DETAIL_DATA_ELEM_61(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59, p60, p61, ...) p61
-#define VMD_DETAIL_DATA_ELEM_62(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59, p60, p61, p62, ...) p62
-#define VMD_DETAIL_DATA_ELEM_63(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27, p28, p29, p30, p31, p32, p33, p34, p35, p36, p37, p38, p39, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p50, p51, p52, p53, p54, p55, p56, p57, p58, p59, p60, p61, p62, p63, ...) p63
+#include "vmd_detail_native.hpp"
+#endif /* BOOST_VMD_PPLIB */
-#define VMD_DETAIL_ARG_N( \
- A1,A2,A3,A4,A5,A6,A7,A8,A9,A10, \
- A11,A12,A13,A14,A15,A16,A17,A18,A19,A20, \
- A21,A22,A23,A24,A25,A26,A27,A28,A29,A30, \
- A31,A32,A33,A34,A35,A36,A37,A38,A39,A40, \
- A41,A42,A43,A44,A45,A46,A47,A48,A49,A50, \
- A51,A52,A53,A54,A55,A56,A57,A58,A59,A60, \
- A61,A62,A63,A64,N,...) N \
-/**/
-#define VMD_DETAIL_RSEQ_N() \
- 64,63,62,61,60, \
- 59,58,57,56,55,54,53,52,51,50, \
- 49,48,47,46,45,44,43,42,41,40, \
- 39,38,37,36,35,34,33,32,31,30, \
- 29,28,27,26,25,24,23,22,21,20, \
- 19,18,17,16,15,14,13,12,11,10, \
- 9,8,7,6,5,4,3,2,1,0 \
-/**/
-#define VMD_DETAIL_APPLY_I(macro, args) \
- macro args \
-/**/
-#define VMD_DETAIL_APPLY(macro, args) \
- VMD_DETAIL_APPLY_I(macro, args) \
-/**/
-#define VMD_DETAIL_DATA_TO_PP_TUPLE(...) \
- ( __VA_ARGS__ ) \
-/**/
-#define VMD_DETAIL_REMOVE_TUPLE_PARENS(...) \
- __VA_ARGS__ \
-/**/
-#define VMD_DETAIL_PP_TUPLE_TO_DATA(tuple) \
- VMD_DETAIL_REMOVE_TUPLE_PARENS tuple \
-/**/
-#if defined(BOOST_MSVC)
-#define VMD_DETAIL_DATA_SIZE(...) \
- VMD_DETAIL_VD_CAT(VMD_DETAIL_APPLY(VMD_DETAIL_ARG_N, (__VA_ARGS__, VMD_DETAIL_RSEQ_N())),BOOST_PP_EMPTY()) \
-/**/
-#else
-#define VMD_DETAIL_DATA_SIZE(...) \
- VMD_DETAIL_APPLY(VMD_DETAIL_ARG_N, (__VA_ARGS__, VMD_DETAIL_RSEQ_N())) \
-/**/
-#endif
-#define VMD_DETAIL_PP_TUPLE_ELEM(size,i,tuple) \
- BOOST_PP_TUPLE_ELEM(size,i,tuple) \
-/**/
-#define VMD_DETAIL_CAT(a, ...) VMD_DETAIL_PRIMITIVE_CAT(a, __VA_ARGS__)
-#define VMD_DETAIL_PRIMITIVE_CAT(a, ...) a ## __VA_ARGS__
-#if defined(BOOST_MSVC)
-#define VMD_DETAIL_DATA_ELEM(n,...) \
- VMD_DETAIL_VD_CAT(VMD_DETAIL_CAT(VMD_DETAIL_DATA_ELEM_, n)(__VA_ARGS__,),BOOST_PP_EMPTY()) \
-/**/
-#else
-#define VMD_DETAIL_DATA_ELEM(n,...) \
- VMD_DETAIL_CAT(VMD_DETAIL_DATA_ELEM_, n)(__VA_ARGS__,) \
-/**/
-#endif
-#define VMD_DETAIL_DATA_TO_PP_ARRAY(...) \
- ( VMD_DETAIL_DATA_SIZE(__VA_ARGS__) , VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__)) \
-/**/
-#define VMD_DETAIL_PP_TUPLE_TO_LIST(size,tuple) \
- BOOST_PP_TUPLE_TO_LIST(size,tuple) \
-/**/
-#define VMD_DETAIL_DATA_TO_PP_LIST(...) \
- VMD_DETAIL_PP_TUPLE_TO_LIST(VMD_DETAIL_DATA_SIZE(__VA_ARGS__),VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__)) \
-/**/
-#define VMD_DETAIL_PP_TUPLE_TO_SEQ(size,tuple) \
- BOOST_PP_TUPLE_TO_SEQ(size,tuple) \
-/**/
-#define VMD_DETAIL_DATA_TO_PP_SEQ(...) \
- VMD_DETAIL_PP_TUPLE_TO_SEQ(VMD_DETAIL_DATA_SIZE(__VA_ARGS__),VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__)) \
-/**/
-#define VMD_DETAIL_PP_TUPLE_SIZE(tuple) \
- VMD_DETAIL_DATA_SIZE(VMD_DETAIL_PP_TUPLE_TO_DATA(tuple)) \
-/**/
-#define VMD_DETAIL_PP_TUPLE_REM_CTOR(size,tuple) \
- BOOST_PP_TUPLE_REM_CTOR(size,tuple) \
-/**/
-#define VMD_DETAIL_PP_TUPLE_REVERSE(size,tuple) \
- BOOST_PP_TUPLE_REVERSE(size,tuple) \
-/**/
+#include "vmd_detail_common.hpp"
-#endif // BOOST_NO_VARIADIC_MACROS
+#endif // BOOST_VMD_VARIADICS
#endif // VMD_DETAIL_HPP
Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_setup.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_setup.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/detail/vmd_detail_setup.hpp 2011-07-31 13:02:35 EDT (Sun, 31 Jul 2011)
@@ -5,18 +5,20 @@
#define BOOST_VMD_PPLIB 0
#endif /* BOOST_VMD_PPLIB */
-#if !defined(BOOST_VMD_VARIADICS)
-#if BOOST_VMD_PPLIB
+#if !defined(BOOST_VMD_VARIADICS) && BOOST_VMD_PPLIB
#include <boost/preprocessor/config/config.hpp>
+#if defined(BOOST_PP_VARIADICS)
#define BOOST_VMD_VARIADICS BOOST_PP_VARIADICS
-#else
+#endif /* BOOST_PP_VARIADICS */
+#endif /* BOOST_VMD_VARIADICS && BOOST_VMD_PPLIB */
+
+#if !defined(BOOST_VMD_VARIADICS)
#include <boost/config.hpp>
#if !defined(BOOST_NO_VARIADIC_MACROS)
#define BOOST_VMD_VARIADICS 1
#else
#define BOOST_VMD_VARIADICS 0
#endif /* BOOST_NO_VARIADIC_MACROS */
-#endif /* BOOST_VMD_PPLIB */
#endif /* BOOST_VMD_VARIADICS */
#endif // VMD_DETAIL_SETUP_HPP
Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/vmd.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd.hpp 2011-07-31 13:02:35 EDT (Sun, 31 Jul 2011)
@@ -1,329 +1,17 @@
#if !defined(VARIADIC_MACRO_DATA_HPP)
#define VARIADIC_MACRO_DATA_HPP
-#include <boost/config.hpp>
+#include "detail/vmd_detail_setup.hpp"
-#if !defined(BOOST_NO_VARIADIC_MACROS)
+#if BOOST_VMD_VARIADICS
-#include <boost/preprocessor/array/data.hpp>
-#include <boost/preprocessor/list/to_tuple.hpp>
-#include <boost/preprocessor/seq/to_tuple.hpp>
-#include "detail/vmd_detail.hpp"
+#if BOOST_VMD_PPLIB
+#include "vmd_pplib.hpp"
+#else
+#include "vmd_native.hpp"
+#endif /* BOOST_VMD_PPLIB */
-/*
+#include "vmd_common.hpp"
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to the number of comma-separated variadic macro data arguments.
-/**
-
- ... = variadic macro data.
-
- returns = the number of comma-separated variadic macro data
- arguments being passed to it.
-
- The value returned can be between 1 and 64.
-
-*/
-#define BOOST_VMD_DATA_SIZE(...) \
- VMD_DETAIL_DATA_SIZE(__VA_ARGS__) \
-/**/
-
-/// Expands to a particular variadic macro data argument.
-/**
-
- n = number of the variadic macro data argument.
- The number starts from 0 to the number of
- variadic macro data arguments - 1. The maximum
- number for n is 63.
-
- ... = variadic macro data.
-
- returns = the particular macro data argument as specified
- by n. The argument returned can be any valid
- preprocessing token.
-
-*/
-#define BOOST_VMD_DATA_ELEM(n,...) \
- VMD_DETAIL_DATA_ELEM(n,__VA_ARGS__) \
-/**/
-
-/// Expand to a Boost PP tuple data type.
-/**
-
- ... = variadic macro data.
-
- returns = a Boost PP library tuple data type.
-
- You can use the result of this macro whenever
- you need to pass a Boost PP library tuple as
- data to a Boost PP library macro.
-
-*/
-#define BOOST_VMD_DATA_TO_PP_TUPLE(...) \
- VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__) \
-/**/
-
-/// Expand to a Boost PP array data type.
-/**
-
- ... = variadic macro data.
-
- returns = a Boost PP library array data type.
-
- You can use the result of this macro whenever
- you need to pass a Boost PP library array as
- data to a Boost PP library macro.
-
-*/
-#define BOOST_VMD_DATA_TO_PP_ARRAY(...) \
- VMD_DETAIL_DATA_TO_PP_ARRAY(__VA_ARGS__) \
-/**/
-
-/// Expand to a Boost PP list data type.
-/**
-
- ... = variadic macro data.
-
- returns = a Boost PP library list data type.
-
- You can use the result of this macro whenever
- you need to pass a Boost PP library list as
- data to a Boost PP library macro.
-
-*/
-#define BOOST_VMD_DATA_TO_PP_LIST(...) \
- VMD_DETAIL_DATA_TO_PP_LIST(__VA_ARGS__) \
-/**/
-
-/// Expand to a Boost PP sequence data type.
-/**
-
- ... = variadic macro data.
-
- returns = a Boost PP library sequence data type.
-
- You can use the result of this macro whenever
- you need to pass a Boost PP library sequence as
- data to a Boost PP library macro.
-
-*/
-#define BOOST_VMD_DATA_TO_PP_SEQ(...) \
- VMD_DETAIL_DATA_TO_PP_SEQ(__VA_ARGS__) \
-/**/
-
-/// Expands to the number of elements in a tuple.
-/**
-
- tuple = a Boost PP library tuple data type.
-
- returns = the number of elements in the tuple,
- commonly referred to as the tuple size.
-
- In the Boost PP library there is no way to calculate
- the size of a tuple, so that the size must be known
- in order to be used by Boost PP library tuple macros.
- With variadic macros the size of a tuple can be
- calculated from the tuple itself.
-
-*/
-#define BOOST_VMD_PP_TUPLE_SIZE(tuple) \
- VMD_DETAIL_PP_TUPLE_SIZE(tuple) \
-/**/
-
-/// Expands to a particular tuple element.
-/**
-
- n = number of the tuple element.
- The number starts from 0 to the size of
- the tuple - 1.
-
- tuple = a Boost PP library tuple data type.
-
- returns = the particular tuple element as specified
- by n.
-
- In the Boost PP library there is no way to calculate
- the size of a tuple, so that the size must be known
- in order to be used by Boost PP library tuple macros.
- With variadic macros the size of a tuple can be
- calculated from the tuple itself.
-
- Therefore this macro is a replacement for the BOOST_PP_TUPLE_ELEM
- macro without the necessity of having to pass a size.
-
-*/
-#define BOOST_VMD_PP_TUPLE_ELEM(n,tuple) \
- VMD_DETAIL_PP_TUPLE_ELEM(BOOST_VMD_PP_TUPLE_SIZE(tuple),n,tuple) \
-/**/
-
-/// Expands to a series of tokens which are equivalent to removing the parentheses from a tuple.
-/**
-
- tuple = a Boost PP library tuple data type.
-
- returns = a series of comma-separated tokens equivalent to removing the parentheses from a tuple.
-
- This result is actually equivalent to the form of variadic macro data
- and can be used as an alternative to BOOST_VMD_PP_TUPLE_TO_DATA to convert
- the tuple to variadic macro data.
-
- In the Boost PP library there is no way to calculate
- the size of a tuple, so that the size must be known
- in order to be used by Boost PP library tuple macros.
- With variadic macros the size of a tuple can be
- calculated from the tuple itself.
-
- Therefore this macro is a replacement for the BOOST_PP_TUPLE_REM_CTOR
- macro without the necessity of having to pass a size.
-
-*/
-#define BOOST_VMD_PP_TUPLE_REM_CTOR(tuple) \
- VMD_DETAIL_PP_TUPLE_REM_CTOR(BOOST_VMD_PP_TUPLE_SIZE(tuple),tuple) \
-/**/
-
-/// Expands to a tuple whose elements are in reversed order.
-/**
-
- tuple = a Boost PP library tuple data type.
-
- returns = a tuple whose elements are in reversed order
- from the original tuple.
-
- In the Boost PP library there is no way to calculate
- the size of a tuple, so that the size must be known
- in order to be used by Boost PP library tuple macros.
- With variadic macros the size of a tuple can be
- calculated from the tuple itself.
-
- Therefore this macro is a replacement for the BOOST_PP_TUPLE_REVERSE
- macro without the necessity of having to pass a size.
-
-*/
-#define BOOST_VMD_PP_TUPLE_REVERSE(tuple) \
- VMD_DETAIL_PP_TUPLE_REVERSE(BOOST_VMD_PP_TUPLE_SIZE(tuple),tuple) \
-/**/
-
-/// Expands to a list whose elements are the same as a tuple.
-/**
-
- tuple = a Boost PP library tuple data type.
-
- returns = a list whose elements are the same as the tuple
- that is inputted.
-
- In the Boost PP library there is no way to calculate
- the size of a tuple, so that the size must be known
- in order to be used by Boost PP library tuple macros.
- With variadic macros the size of a tuple can be
- calculated from the tuple itself.
-
- Therefore this macro is a replacement for the BOOST_PP_TUPLE_TO_LIST
- macro without the necessity of having to pass a size.
-
-*/
-#define BOOST_VMD_PP_TUPLE_TO_LIST(tuple) \
- VMD_DETAIL_PP_TUPLE_TO_LIST(BOOST_VMD_PP_TUPLE_SIZE(tuple),tuple) \
-/**/
-
-/// Expands to a sequence whose elements are the same as a tuple.
-/**
-
- tuple = a Boost PP library tuple data type.
-
- returns = a sequence whose elements are the same as the tuple
- that is inputted.
-
- In the Boost PP library there is no way to calculate
- the size of a tuple, so that the size must be known
- in order to be used by Boost PP library tuple macros.
- With variadic macros the size of a tuple can be
- calculated from the tuple itself.
-
- Therefore this macro is a replacement for the BOOST_PP_TUPLE_TO_SEQ
- macro without the necessity of having to pass a size.
-
-*/
-#define BOOST_VMD_PP_TUPLE_TO_SEQ(tuple) \
- VMD_DETAIL_PP_TUPLE_TO_SEQ(BOOST_VMD_PP_TUPLE_SIZE(tuple),tuple) \
-/**/
-
-/// Expands to variadic macro data whose arguments are the same as a tuple's elements.
-/**
-
- tuple = a Boost PP library tuple data type.
-
- returns = variadic macro data whose arguments are the same as the
- elements of a tuple that is inputted.
-
- The variadic macro data that is returned is in the form of
- of comma separated arguments. The variadic macro data can be
- passed to any macro which takes variadic macro data in the form
- of a final variadic macro data '...' macro parameter.
-
-*/
-#define BOOST_VMD_PP_TUPLE_TO_DATA(tuple) \
- VMD_DETAIL_PP_TUPLE_TO_DATA(tuple) \
-/**/
-
-/// Expands to variadic macro data whose arguments are the same as an array's elements.
-/**
-
- array = a Boost PP library array data type.
-
- returns = variadic macro data whose arguments are the same as the
- elements of an array that is inputted.
-
- The variadic macro data that is returned is in the form of
- of comma separated arguments. The variadic macro data can be
- passed to any macro which takes variadic macro data in the form
- of a final variadic macro data '...' macro parameter.
-
-*/
-#define BOOST_VMD_PP_ARRAY_TO_DATA(array) \
- BOOST_VMD_PP_TUPLE_TO_DATA(BOOST_PP_ARRAY_DATA(array)) \
-/**/
-
-/// Expands to variadic macro data whose arguments are the same as a list's elements.
-/**
-
- list = a Boost PP library list data type.
-
- returns = variadic macro data whose arguments are the same as the
- elements of a list that is inputted.
-
- The variadic macro data that is returned is in the form of
- of comma separated arguments. The variadic macro data can be
- passed to any macro which takes variadic macro data in the form
- of a final variadic macro data '...' macro parameter.
-
-*/
-#define BOOST_VMD_PP_LIST_TO_DATA(list) \
- BOOST_VMD_PP_TUPLE_TO_DATA(BOOST_PP_LIST_TO_TUPLE(list)) \
-/**/
-
-/// Expands to variadic macro data whose arguments are the same as a sequence's elements.
-/**
-
- seq = a Boost PP library sequence data type.
-
- returns = variadic macro data whose arguments are the same as the
- elements of a sequence that is inputted.
-
- The variadic macro data that is returned is in the form of
- of comma separated arguments. The variadic macro data can be
- passed to any macro which takes variadic macro data in the form
- of a final variadic macro data '...' macro parameter.
-
-*/
-#define BOOST_VMD_PP_SEQ_TO_DATA(seq) \
- BOOST_VMD_PP_TUPLE_TO_DATA(BOOST_PP_SEQ_TO_TUPLE(seq)) \
-/**/
-
-#endif // BOOST_NO_VARIADIC_MACROS
-#endif // VARIADIC_MACRO_DATA_HPP
+#endif /* BOOST_VMD_VARIADICS */
+#endif /* VARIADIC_MACRO_DATA_HPP */
Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/Jamfile.v2
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/Jamfile.v2 (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/Jamfile.v2 2011-07-31 13:02:35 EDT (Sun, 31 Jul 2011)
@@ -7,16 +7,19 @@
import testing ;
project variadic_macro_data_tests : requirements <warnings>on
- <toolset>gcc-4.3.0:<warnings>all
+ <toolset>msvc:<warnings>all
+ <toolset>gcc:<warnings>all
<toolset>gcc-4.3.0:<cxxflags>-Wno-variadic-macros
- <toolset>gcc-4.4.0:<warnings>all
- <toolset>gcc-4.4.0:<cxxflags>-Wno-variadic-macros
- <toolset>gcc-4.5.0:<warnings>all
+ <toolset>gcc-4.3.0:<cxxflags>-std=c++0x
+ <toolset>gcc-4.4.0:<cxxflags>-Wno-variadic-macros
+ <toolset>gcc-4.4.0:<cxxflags>-std=c++0x
<toolset>gcc-4.5.0:<cxxflags>-Wno-variadic-macros
+ <toolset>gcc-4.5.0:<cxxflags>-std=c++0x
<toolset>gcc-4.5.0:<linkflags>"-Wl,--enable-auto-import"
- <toolset>gcc-4.5.2:<warnings>all
<toolset>gcc-4.5.2:<cxxflags>-Wno-variadic-macros
- <toolset>msvc:<warnings>all
+ <toolset>gcc-4.5.2:<cxxflags>-std=c++0x
+ <toolset>gcc-4.6.0:<cxxflags>-Wno-variadic-macros
+ <toolset>gcc-4.6.0:<cxxflags>-std=c++0x
;
test-suite variadic_macro_data
@@ -27,3 +30,22 @@
[ run test_data_as_list.cpp ]
[ run test_data_as_sequence.cpp ]
;
+
+test-suite variadic_macro_data_pplib
+ :
+ [ run test_data.cpp : : :
+ <define>BOOST_VMD_PPLIB=1 :
+ test_data_pplib ]
+ [ run test_data_as_tuple.cpp : : :
+ <define>BOOST_VMD_PPLIB=1 :
+ test_data_as_tuple_pplib ]
+ [ run test_data_as_array.cpp : : :
+ <define>BOOST_VMD_PPLIB=1 :
+ test_data_as_array_pplib ]
+ [ run test_data_as_list.cpp : : :
+ <define>BOOST_VMD_PPLIB=1 :
+ test_data_as_list_pplib ]
+ [ run test_data_as_sequence.cpp : : :
+ <define>BOOST_VMD_PPLIB=1 :
+ test_data_as_sequence_pplib ]
+ ;
Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data.cpp 2011-07-31 13:02:35 EDT (Sun, 31 Jul 2011)
@@ -1,5 +1,8 @@
#include <boost/variadic_macro_data/vmd.hpp>
#include <boost/detail/lightweight_test.hpp>
+
+#if BOOST_VMD_VARIADICS
+
#include <vector>
#include <string>
#include <boost/type_traits/is_same.hpp>
@@ -12,11 +15,13 @@
#include <boost/preprocessor/logical/bitor.hpp>
#include <boost/preprocessor/selection/max.hpp>
#include <boost/preprocessor/stringize.hpp>
+
+#endif
int main()
{
-#if !defined(BOOST_NO_VARIADIC_MACROS)
+#if BOOST_VMD_VARIADICS
#define VMD_TEST_THE_DATA 147,12,the,*,we99,33,++,jjgg,+=,0,1
Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_array.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_array.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_array.cpp 2011-07-31 13:02:35 EDT (Sun, 31 Jul 2011)
@@ -1,15 +1,21 @@
#include <boost/variadic_macro_data/vmd.hpp>
#include <boost/detail/lightweight_test.hpp>
+
+#if BOOST_VMD_VARIADICS
+
#include <boost/preprocessor/array/size.hpp>
#include <boost/preprocessor/array/elem.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>
#include <vector>
#include <boost/type_traits/is_same.hpp>
+
+#endif
int main()
{
-#if !defined(BOOST_NO_VARIADIC_MACROS)
+
+#if BOOST_VMD_VARIADICS
#define VMD_TEST_ARRAY_NUMBERS \
BOOST_VMD_DATA_TO_PP_ARRAY(47,69,23,985,458,77,12457,89,99872) \
Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_list.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_list.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_list.cpp 2011-07-31 13:02:35 EDT (Sun, 31 Jul 2011)
@@ -1,15 +1,20 @@
#include <boost/variadic_macro_data/vmd.hpp>
#include <boost/detail/lightweight_test.hpp>
+
+#if BOOST_VMD_VARIADICS
+
#include <boost/preprocessor/list/at.hpp>
#include <boost/preprocessor/list/size.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>
#include <vector>
#include <boost/type_traits/is_same.hpp>
+
+#endif
int main()
{
-#if !defined(BOOST_NO_VARIADIC_MACROS)
+#if BOOST_VMD_VARIADICS
#define VMD_TEST_LIST_NUMBERS \
BOOST_VMD_DATA_TO_PP_LIST(34,23467,12,9984,34,678,7890,1235678,3489,1,8965,345) \
Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_sequence.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_sequence.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_sequence.cpp 2011-07-31 13:02:35 EDT (Sun, 31 Jul 2011)
@@ -1,15 +1,20 @@
#include <boost/variadic_macro_data/vmd.hpp>
#include <boost/detail/lightweight_test.hpp>
+
+#if BOOST_VMD_VARIADICS
+
#include <boost/preprocessor/seq/size.hpp>
#include <boost/preprocessor/seq/elem.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>
#include <vector>
#include <boost/type_traits/is_same.hpp>
+
+#endif
int main()
{
-#if !defined(BOOST_NO_VARIADIC_MACROS)
+#if BOOST_VMD_VARIADICS
#define VMD_TEST_SEQ_NUMBERS \
BOOST_VMD_DATA_TO_PP_SEQ(4578,24,789436,78345,902,345,860,667433,56,727,47891) \
Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_tuple.cpp
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_tuple.cpp (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_data_as_tuple.cpp 2011-07-31 13:02:35 EDT (Sun, 31 Jul 2011)
@@ -1,5 +1,8 @@
#include <boost/variadic_macro_data/vmd.hpp>
#include <boost/detail/lightweight_test.hpp>
+
+#if BOOST_VMD_VARIADICS
+
#include <boost/preprocessor/list/size.hpp>
#include <boost/preprocessor/seq/size.hpp>
#include <boost/preprocessor/tuple/rem.hpp>
@@ -7,11 +10,13 @@
#include <boost/preprocessor/repetition/repeat.hpp>
#include <vector>
#include <boost/type_traits/is_same.hpp>
+
+#endif
int main()
{
-#if !defined(BOOST_NO_VARIADIC_MACROS)
+#if BOOST_VMD_VARIADICS
#define VMD_TEST_TUPLE_NUMBERS \
BOOST_VMD_DATA_TO_PP_TUPLE(23,45,147,6,7743,12,67,43,89045,82) \
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk