Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r69359 - in sandbox/local/boost/detail/preprocessor/variadic_macro_data: . detail
From: lorcaminiti_at_[hidden]
Date: 2011-02-27 19:06:53


Author: lcaminiti
Date: 2011-02-27 19:06:52 EST (Sun, 27 Feb 2011)
New Revision: 69359
URL: http://svn.boost.org/trac/boost/changeset/69359

Log:
Added `BOOST_DETAIL_PP_...` prefixes to VMD proposed Boost lib.
Added:
   sandbox/local/boost/detail/preprocessor/variadic_macro_data/
      - copied from r69354, /sandbox/local/boost/local/aux_/preprocessor/va_/variadic_macro_data/
Text files modified:
   sandbox/local/boost/detail/preprocessor/variadic_macro_data/detail/vmd_detail.hpp | 202 ++++++++++++++++++++-------------------
   sandbox/local/boost/detail/preprocessor/variadic_macro_data/vmd.hpp | 70 +++++++------
   2 files changed, 140 insertions(+), 132 deletions(-)

Modified: sandbox/local/boost/detail/preprocessor/variadic_macro_data/detail/vmd_detail.hpp
==============================================================================
--- /sandbox/local/boost/local/aux_/preprocessor/va_/variadic_macro_data/detail/vmd_detail.hpp (original)
+++ sandbox/local/boost/detail/preprocessor/variadic_macro_data/detail/vmd_detail.hpp 2011-02-27 19:06:52 EST (Sun, 27 Feb 2011)
@@ -1,5 +1,9 @@
-#if !defined(VMD_DETAIL_HPP)
-#define VMD_DETAIL_HPP
+
+// The VMD library was written by Edward Diener and proposed for Boost addition.
+// I have just added some boost-detail prefixed to the macro names.
+
+#if !defined(BOOST_DETAIL_PP_VMD_DETAIL_HPP)
+#define BOOST_DETAIL_PP_VMD_DETAIL_HPP
 
 #include <boost/config.hpp>
 
@@ -16,72 +20,72 @@
 #include <boost/preprocessor/facilities/empty.hpp>
 #endif
 
-#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
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_0(p0, ...) p0
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_1(p0, p1, ...) p1
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_2(p0, p1, p2, ...) p2
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_3(p0, p1, p2, p3, ...) p3
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_4(p0, p1, p2, p3, p4, ...) p4
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_5(p0, p1, p2, p3, p4, p5, ...) p5
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_6(p0, p1, p2, p3, p4, p5, p6, ...) p6
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_7(p0, p1, p2, p3, p4, p5, p6, p7, ...) p7
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_8(p0, p1, p2, p3, p4, p5, p6, p7, p8, ...) p8
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_9(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, ...) p9
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_10(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, ...) p10
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_11(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, ...) p11
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_12(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, ...) p12
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_13(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, ...) p13
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_14(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, ...) p14
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_15(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, ...) p15
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM_16(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, ...) p16
+#define BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_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
 
-#define VMD_DETAIL_ARG_N( \
+#define BOOST_DETAIL_PP_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, \
@@ -90,7 +94,7 @@
   A51,A52,A53,A54,A55,A56,A57,A58,A59,A60, \
   A61,A62,A63,N,...) N \
 /**/
-#define VMD_DETAIL_RSEQ_N() \
+#define BOOST_DETAIL_PP_VMD_DETAIL_RSEQ_N() \
   63,62,61,60, \
   59,58,57,56,55,54,53,52,51,50, \
   49,48,47,46,45,44,43,42,41,40, \
@@ -99,68 +103,68 @@
   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) \
+#define BOOST_DETAIL_PP_VMD_DETAIL_APPLY_I(macro, args) \
   macro args \
 /**/
-#define VMD_DETAIL_APPLY(macro, args) \
- VMD_DETAIL_APPLY_I(macro, args) \
+#define BOOST_DETAIL_PP_VMD_DETAIL_APPLY(macro, args) \
+ BOOST_DETAIL_PP_VMD_DETAIL_APPLY_I(macro, args) \
 /**/
-#define VMD_DETAIL_DATA_TO_PP_TUPLE(...) \
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_TO_PP_TUPLE(...) \
   ( __VA_ARGS__ ) \
 /**/
-#define VMD_DETAIL_REMOVE_TUPLE_PARENS(...) \
+#define BOOST_DETAIL_PP_VMD_DETAIL_REMOVE_TUPLE_PARENS(...) \
   __VA_ARGS__ \
 /**/
-#define VMD_DETAIL_PP_TUPLE_TO_DATA(tuple) \
- VMD_DETAIL_REMOVE_TUPLE_PARENS tuple \
+#define BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_TO_DATA(tuple) \
+ BOOST_DETAIL_PP_VMD_DETAIL_REMOVE_TUPLE_PARENS tuple \
 /**/
 #if defined(BOOST_MSVC)
-#define VMD_DETAIL_DATA_SIZE(...) \
- BOOST_PP_ADD(VMD_DETAIL_APPLY(VMD_DETAIL_ARG_N, (__VA_ARGS__, VMD_DETAIL_RSEQ_N())),0) \
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_SIZE(...) \
+ BOOST_PP_ADD(BOOST_DETAIL_PP_VMD_DETAIL_APPLY(BOOST_DETAIL_PP_VMD_DETAIL_ARG_N, (__VA_ARGS__, BOOST_DETAIL_PP_VMD_DETAIL_RSEQ_N())),0) \
 /**/
 #else
-#define VMD_DETAIL_DATA_SIZE(...) \
- VMD_DETAIL_APPLY(VMD_DETAIL_ARG_N, (__VA_ARGS__, VMD_DETAIL_RSEQ_N())) \
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_SIZE(...) \
+ BOOST_DETAIL_PP_VMD_DETAIL_APPLY(BOOST_DETAIL_PP_VMD_DETAIL_ARG_N, (__VA_ARGS__, BOOST_DETAIL_PP_VMD_DETAIL_RSEQ_N())) \
 /**/
 #endif
-#define VMD_DETAIL_PP_TUPLE_ELEM(size,i,tuple) \
+#define BOOST_DETAIL_PP_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__
+#define BOOST_DETAIL_PP_VMD_DETAIL_CAT(a, ...) BOOST_DETAIL_PP_VMD_DETAIL_PRIMITIVE_CAT(a, __VA_ARGS__)
+#define BOOST_DETAIL_PP_VMD_DETAIL_PRIMITIVE_CAT(a, ...) a ## __VA_ARGS__
 #if defined(BOOST_MSVC)
-#define VMD_DETAIL_DATA_ELEM(n,...) \
- BOOST_PP_CAT(VMD_DETAIL_CAT(VMD_DETAIL_DATA_ELEM_, n)(__VA_ARGS__,),BOOST_PP_EMPTY()) \
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM(n,...) \
+ BOOST_PP_CAT(BOOST_DETAIL_PP_VMD_DETAIL_CAT(BOOST_DETAIL_PP_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__,) \
+#define BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM(n,...) \
+ BOOST_DETAIL_PP_VMD_DETAIL_CAT(BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_VMD_DETAIL_DATA_TO_PP_ARRAY(...) \
+ ( BOOST_DETAIL_PP_VMD_DETAIL_DATA_SIZE(__VA_ARGS__) , BOOST_DETAIL_PP_VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__)) \
 /**/
-#define VMD_DETAIL_PP_TUPLE_TO_LIST(size,tuple) \
+#define BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_VMD_DETAIL_DATA_TO_PP_LIST(...) \
+ BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_TO_LIST(BOOST_DETAIL_PP_VMD_DETAIL_DATA_SIZE(__VA_ARGS__),BOOST_DETAIL_PP_VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__)) \
 /**/
-#define VMD_DETAIL_PP_TUPLE_TO_SEQ(size,tuple) \
+#define BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_VMD_DETAIL_DATA_TO_PP_SEQ(...) \
+ BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_TO_SEQ(BOOST_DETAIL_PP_VMD_DETAIL_DATA_SIZE(__VA_ARGS__),BOOST_DETAIL_PP_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 BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_SIZE(tuple) \
+ BOOST_DETAIL_PP_VMD_DETAIL_DATA_SIZE(BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_TO_DATA(tuple)) \
 /**/
-#define VMD_DETAIL_PP_TUPLE_REM_CTOR(size,tuple) \
+#define BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_REM_CTOR(size,tuple) \
   BOOST_PP_TUPLE_REM_CTOR(size,tuple) \
 /**/
-#define VMD_DETAIL_PP_TUPLE_REVERSE(size,tuple) \
+#define BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_REVERSE(size,tuple) \
   BOOST_PP_TUPLE_REVERSE(size,tuple) \
 /**/
 
 #endif // BOOST_NO_VARIADIC_MACROS
-#endif // VMD_DETAIL_HPP
+#endif // BOOST_DETAIL_PP_VMD_DETAIL_HPP

Modified: sandbox/local/boost/detail/preprocessor/variadic_macro_data/vmd.hpp
==============================================================================
--- /sandbox/local/boost/local/aux_/preprocessor/va_/variadic_macro_data/vmd.hpp (original)
+++ sandbox/local/boost/detail/preprocessor/variadic_macro_data/vmd.hpp 2011-02-27 19:06:52 EST (Sun, 27 Feb 2011)
@@ -1,3 +1,7 @@
+
+// The VMD library was written by Edward Diener and proposed for Boost addition.
+// I have just added some boost-detail prefixed to the macro names.
+
 #if !defined(VARIADIC_MACRO_DATA_HPP)
 #define VARIADIC_MACRO_DATA_HPP
 
@@ -31,8 +35,8 @@
     The value returned can be between 1 and 64.
     
 */
-#define BOOST_VMD_DATA_SIZE(...) \
- VMD_DETAIL_DATA_SIZE(__VA_ARGS__) \
+#define BOODT_DETAIL_PP_VMD_DATA_SIZE(...) \
+ BOOST_DETAIL_PP_VMD_DETAIL_DATA_SIZE(__VA_ARGS__) \
 /**/
 
 /// Expands to a particular variadic macro data argument.
@@ -50,8 +54,8 @@
               preprocessing token.
               
 */
-#define BOOST_VMD_DATA_ELEM(n,...) \
- VMD_DETAIL_DATA_ELEM(n,__VA_ARGS__) \
+#define BOODT_DETAIL_PP_VMD_DATA_ELEM(n,...) \
+ BOOST_DETAIL_PP_VMD_DETAIL_DATA_ELEM(n,__VA_ARGS__) \
 /**/
 
 /// Expand to a Boost PP tuple data type.
@@ -66,8 +70,8 @@
     data to a Boost PP library macro.
     
 */
-#define BOOST_VMD_DATA_TO_PP_TUPLE(...) \
- VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__) \
+#define BOODT_DETAIL_PP_VMD_DATA_TO_PP_TUPLE(...) \
+ BOOST_DETAIL_PP_VMD_DETAIL_DATA_TO_PP_TUPLE(__VA_ARGS__) \
 /**/
 
 /// Expand to a Boost PP array data type.
@@ -82,8 +86,8 @@
     data to a Boost PP library macro.
     
 */
-#define BOOST_VMD_DATA_TO_PP_ARRAY(...) \
- VMD_DETAIL_DATA_TO_PP_ARRAY(__VA_ARGS__) \
+#define BOODT_DETAIL_PP_VMD_DATA_TO_PP_ARRAY(...) \
+ BOOST_DETAIL_PP_VMD_DETAIL_DATA_TO_PP_ARRAY(__VA_ARGS__) \
 /**/
 
 /// Expand to a Boost PP list data type.
@@ -98,8 +102,8 @@
     data to a Boost PP library macro.
     
 */
-#define BOOST_VMD_DATA_TO_PP_LIST(...) \
- VMD_DETAIL_DATA_TO_PP_LIST(__VA_ARGS__) \
+#define BOODT_DETAIL_PP_VMD_DATA_TO_PP_LIST(...) \
+ BOOST_DETAIL_PP_VMD_DETAIL_DATA_TO_PP_LIST(__VA_ARGS__) \
 /**/
 
 /// Expand to a Boost PP sequence data type.
@@ -114,8 +118,8 @@
     data to a Boost PP library macro.
     
 */
-#define BOOST_VMD_DATA_TO_PP_SEQ(...) \
- VMD_DETAIL_DATA_TO_PP_SEQ(__VA_ARGS__) \
+#define BOODT_DETAIL_PP_VMD_DATA_TO_PP_SEQ(...) \
+ BOOST_DETAIL_PP_VMD_DETAIL_DATA_TO_PP_SEQ(__VA_ARGS__) \
 /**/
 
 /// Expands to the number of elements in a tuple.
@@ -133,8 +137,8 @@
     calculated from the tuple itself.
     
 */
-#define BOOST_VMD_PP_TUPLE_SIZE(tuple) \
- VMD_DETAIL_PP_TUPLE_SIZE(tuple) \
+#define BOODT_DETAIL_PP_VMD_PP_TUPLE_SIZE(tuple) \
+ BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_SIZE(tuple) \
 /**/
 
 /// Expands to a particular tuple element.
@@ -159,8 +163,8 @@
     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) \
+#define BOODT_DETAIL_PP_VMD_PP_TUPLE_ELEM(n,tuple) \
+ BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_ELEM(BOODT_DETAIL_PP_VMD_PP_TUPLE_SIZE(tuple),n,tuple) \
 /**/
 
 /// Expands to a series of tokens which are equivalent to removing the parentheses from a tuple.
@@ -171,7 +175,7 @@
     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
+ and can be used as an alternative to BOODT_DETAIL_PP_VMD_PP_TUPLE_TO_DATA to convert
               the tuple to variadic macro data.
               
     In the Boost PP library there is no way to calculate
@@ -184,8 +188,8 @@
     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) \
+#define BOODT_DETAIL_PP_VMD_PP_TUPLE_REM_CTOR(tuple) \
+ BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_REM_CTOR(BOODT_DETAIL_PP_VMD_PP_TUPLE_SIZE(tuple),tuple) \
 /**/
 
 /// Expands to a tuple whose elements are in reversed order.
@@ -206,8 +210,8 @@
     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) \
+#define BOODT_DETAIL_PP_VMD_PP_TUPLE_REVERSE(tuple) \
+ BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_REVERSE(BOODT_DETAIL_PP_VMD_PP_TUPLE_SIZE(tuple),tuple) \
 /**/
 
 /// Expands to a list whose elements are the same as a tuple.
@@ -228,8 +232,8 @@
     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) \
+#define BOODT_DETAIL_PP_VMD_PP_TUPLE_TO_LIST(tuple) \
+ BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_TO_LIST(BOODT_DETAIL_PP_VMD_PP_TUPLE_SIZE(tuple),tuple) \
 /**/
 
 /// Expands to a sequence whose elements are the same as a tuple.
@@ -250,8 +254,8 @@
     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) \
+#define BOODT_DETAIL_PP_VMD_PP_TUPLE_TO_SEQ(tuple) \
+ BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_TO_SEQ(BOODT_DETAIL_PP_VMD_PP_TUPLE_SIZE(tuple),tuple) \
 /**/
 
 /// Expands to variadic macro data whose arguments are the same as a tuple's elements.
@@ -268,8 +272,8 @@
     of a final variadic macro data '...' macro parameter.
     
 */
-#define BOOST_VMD_PP_TUPLE_TO_DATA(tuple) \
- VMD_DETAIL_PP_TUPLE_TO_DATA(tuple) \
+#define BOODT_DETAIL_PP_VMD_PP_TUPLE_TO_DATA(tuple) \
+ BOOST_DETAIL_PP_VMD_DETAIL_PP_TUPLE_TO_DATA(tuple) \
 /**/
 
 /// Expands to variadic macro data whose arguments are the same as an array's elements.
@@ -286,8 +290,8 @@
     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)) \
+#define BOODT_DETAIL_PP_VMD_PP_ARRAY_TO_DATA(array) \
+ BOODT_DETAIL_PP_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.
@@ -304,8 +308,8 @@
     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)) \
+#define BOODT_DETAIL_PP_VMD_PP_LIST_TO_DATA(list) \
+ BOODT_DETAIL_PP_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.
@@ -322,8 +326,8 @@
     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)) \
+#define BOODT_DETAIL_PP_VMD_PP_SEQ_TO_DATA(seq) \
+ BOODT_DETAIL_PP_VMD_PP_TUPLE_TO_DATA(BOOST_PP_SEQ_TO_TUPLE(seq)) \
 /**/
 
 #endif // BOOST_NO_VARIADIC_MACROS


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