diff --git a/doc/headers/facilities.html b/doc/headers/facilities.html index ce1cddf..90eaa39 100644 --- a/doc/headers/facilities.html +++ b/doc/headers/facilities.html @@ -18,7 +18,7 @@
  • <boost/preprocessor/facilities/expand.hpp>
  • <boost/preprocessor/facilities/identity.hpp>
  • <boost/preprocessor/facilities/intercept.hpp>
  • -
  • <boost/preprocessor/facilities/overload.hpp> (v)
  • +
  • <boost/preprocessor/facilities/overload.hpp> (v)

  • diff --git a/doc/headers/facilities/overload.html b/doc/headers/facilities/overload.html index 643715d..0dc33c2 100644 --- a/doc/headers/facilities/overload.html +++ b/doc/headers/facilities/overload.html @@ -13,11 +13,11 @@

    Contents


    - © Copyright Edward Diener 2011 + © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/headers/seq.html b/doc/headers/seq.html index 98f52e3..9e2ba8c 100644 --- a/doc/headers/seq.html +++ b/doc/headers/seq.html @@ -69,6 +69,8 @@ <boost/preprocessor/seq/to_tuple.hpp>

  • <boost/preprocessor/seq/transform.hpp>
  • +
  • + <boost/preprocessor/seq/variadic_seq_to_seq.hpp>

  • diff --git a/doc/headers/seq/variadic_seq_to_seq.html b/doc/headers/seq/variadic_seq_to_seq.html new file mode 100644 index 0000000..3c3457e --- /dev/null +++ b/doc/headers/seq/variadic_seq_to_seq.html @@ -0,0 +1,34 @@ + + + seq/variadic_seq_to_seq.hpp + + + +
    + The seq/variadic_seq_to_seq.hpp header defines a macro that converts a variadic seq into a seq. +
    +

    + Usage +

    +
    + #include <boost/preprocessor/seq/variadic_seq_to_seq.hpp> +
    +

    + Contents +

    + +
    +
    + © Copyright Paul Mensonides 2012 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. (See + accompanying file LICENSE_1_0.txt or + copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/headers/tuple/eat.html b/doc/headers/tuple/eat.html index 70aa722..d74af35 100644 --- a/doc/headers/tuple/eat.html +++ b/doc/headers/tuple/eat.html @@ -9,7 +9,7 @@

    Contents


    diff --git a/doc/headers/tuple/elem.html b/doc/headers/tuple/elem.html index f841642..ab35f10 100644 --- a/doc/headers/tuple/elem.html +++ b/doc/headers/tuple/elem.html @@ -9,7 +9,7 @@

    Contents


    diff --git a/doc/headers/tuple/enum.html b/doc/headers/tuple/enum.html index 93003d6..86f0c7b 100644 --- a/doc/headers/tuple/enum.html +++ b/doc/headers/tuple/enum.html @@ -10,12 +10,12 @@

    Contents


    - © Copyright Edward Diener 2011 + © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/headers/tuple/rem.html b/doc/headers/tuple/rem.html index ebbd6d4..c90fa29 100644 --- a/doc/headers/tuple/rem.html +++ b/doc/headers/tuple/rem.html @@ -9,9 +9,9 @@

    Contents


    diff --git a/doc/headers/tuple/reverse.html b/doc/headers/tuple/reverse.html index 0acaeed..785e393 100644 --- a/doc/headers/tuple/reverse.html +++ b/doc/headers/tuple/reverse.html @@ -9,7 +9,7 @@

    Contents


    diff --git a/doc/headers/tuple/size.html b/doc/headers/tuple/size.html index 44eb9b4..264a9d7 100644 --- a/doc/headers/tuple/size.html +++ b/doc/headers/tuple/size.html @@ -10,12 +10,12 @@

    Contents


    - © Copyright Edward Diener 2011 + © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/headers/tuple/to_array.html b/doc/headers/tuple/to_array.html index 6866893..c7530b5 100644 --- a/doc/headers/tuple/to_array.html +++ b/doc/headers/tuple/to_array.html @@ -10,12 +10,12 @@

    Contents


    - © Copyright Edward Diener 2011 + © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/headers/tuple/to_list.html b/doc/headers/tuple/to_list.html index 9d2f280..2d42284 100644 --- a/doc/headers/tuple/to_list.html +++ b/doc/headers/tuple/to_list.html @@ -9,7 +9,7 @@

    Contents


    diff --git a/doc/headers/tuple/to_seq.html b/doc/headers/tuple/to_seq.html index fa2cd2d..b3420e3 100644 --- a/doc/headers/tuple/to_seq.html +++ b/doc/headers/tuple/to_seq.html @@ -15,7 +15,7 @@
    diff --git a/doc/headers/variadic.html b/doc/headers/variadic.html index 2183f83..0acc99c 100644 --- a/doc/headers/variadic.html +++ b/doc/headers/variadic.html @@ -13,16 +13,16 @@

    Includes


    - © Copyright Edward Diener 2011 + © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/headers/variadic/elem.html b/doc/headers/variadic/elem.html index 5afa637..f37fe22 100644 --- a/doc/headers/variadic/elem.html +++ b/doc/headers/variadic/elem.html @@ -14,12 +14,12 @@

    Contents


    - © Copyright Edward Diener 2011 + © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/headers/variadic/size.html b/doc/headers/variadic/size.html index ceb3e19..dec4e93 100644 --- a/doc/headers/variadic/size.html +++ b/doc/headers/variadic/size.html @@ -10,12 +10,12 @@

    Contents


    - © Copyright Edward Diener 2011 + © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/headers/variadic/to_array.html b/doc/headers/variadic/to_array.html index b2a9135..26525ef 100644 --- a/doc/headers/variadic/to_array.html +++ b/doc/headers/variadic/to_array.html @@ -10,12 +10,12 @@

    Contents


    - © Copyright Edward Diener 2011 + © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/headers/variadic/to_list.html b/doc/headers/variadic/to_list.html index b6dd41d..1a6bc85 100644 --- a/doc/headers/variadic/to_list.html +++ b/doc/headers/variadic/to_list.html @@ -10,12 +10,12 @@

    Contents


    - © Copyright Edward Diener 2011 + © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/headers/variadic/to_seq.html b/doc/headers/variadic/to_seq.html index e2c00a5..64022dd 100644 --- a/doc/headers/variadic/to_seq.html +++ b/doc/headers/variadic/to_seq.html @@ -15,12 +15,12 @@


    - © Copyright Edward Diener 2011 + © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/headers/variadic/to_tuple.html b/doc/headers/variadic/to_tuple.html index ae7281a..ee55807 100644 --- a/doc/headers/variadic/to_tuple.html +++ b/doc/headers/variadic/to_tuple.html @@ -16,12 +16,12 @@


    - © Copyright Edward Diener 2011 + © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/ref/overload.html b/doc/ref/overload.html index 38f3e72..e45f26b 100644 --- a/doc/ref/overload.html +++ b/doc/ref/overload.html @@ -7,7 +7,7 @@

    The BOOST_PP_OVERLOAD variadic macro expands to the name of a non-variadic macro having a given number of parameters.

    Usage

    -
    BOOST_PP_OVERLOAD(prefix,...) (v)
    +
    BOOST_PP_OVERLOAD(prefix,...) (v)

    Arguments

    @@ -36,7 +36,7 @@ a series of non-variadic macros doing very similar things.
    #include <boost/preprocessor/facilities/overload.hpp>
    #include <boost/preprocessor/cat.hpp>
    #include <boost/preprocessor/facilities/empty.hpp>
    #include <boost/preprocessor/arithmetic/add.hpp>

    #define MACRO_1(number) MACRO_2(number,10)
    #define MACRO_2(number1,number2) BOOST_PP_ADD(number1,number2)

    #define MACRO_ADD_NUMBERS(...) BOOST_PP_OVERLOAD(MACRO_,__VA_ARGS__)(__VA_ARGS__)

    // or for Visual C++

    #define MACRO_ADD_NUMBERS(...) \
    BOOST_PP_CAT(BOOST_PP_OVERLOAD(MACRO_,__VA_ARGS__)(__VA_ARGS__),BOOST_PP_EMPTY())

    MACRO_ADD_NUMBERS(5) // output is 15
    MACRO_ADD_NUMBERS(3,6) // output is 9

    -
    © Copyright Edward Diener 2011
    +
    © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt diff --git a/doc/ref/tuple_eat.html b/doc/ref/tuple_eat.html index 146a7c8..963647f 100644 --- a/doc/ref/tuple_eat.html +++ b/doc/ref/tuple_eat.html @@ -13,7 +13,7 @@
    or

    -BOOST_PP_TUPLE_EAT(size) (v)
    +BOOST_PP_TUPLE_EAT(size) (v)

    Arguments

    @@ -26,7 +26,7 @@ or

    Remarks

    The size argument must be the actual size of the tuple in the non-variadic version.
    -
    For the variadic version (v) the +
    For the variadic version (v) the size may be left out completely so that the macro can be invoked as BOOST_PP_TUPLE_EAT(); you may get a warning from some compilers, but the functionality will still work. If you specify a size in the variadic @@ -42,12 +42,12 @@ not occur.
    Header:  <boost/preprocessor/tuple/eat.hpp>

    Sample Code

    -
    #include <boost/preprocessor/control/if.hpp>
    #include <boost/preprocessor/tuple/eat.hpp>

    #define OP(a, b) (a b)

    #define MACRO(n) BOOST_PP_IF(n, OP, BOOST_PP_TUPLE_EAT(2))(1, 2)

    // or for the variadic version (v)

    #define MACRO(n) BOOST_PP_IF(n, OP, BOOST_PP_TUPLE_EAT())(1, 2)

    MACRO(0) // expands to nothing
    MACRO(1) // expands to (1, 2)
    +
    #include <boost/preprocessor/control/if.hpp>
    #include <boost/preprocessor/tuple/eat.hpp>

    #define OP(a, b) (a b)

    #define MACRO(n) BOOST_PP_IF(n, OP, BOOST_PP_TUPLE_EAT(2))(1, 2)

    // or for the variadic version (v)

    #define MACRO(n) BOOST_PP_IF(n, OP, BOOST_PP_TUPLE_EAT())(1, 2)

    MACRO(0) // expands to nothing
    MACRO(1) // expands to (1, 2)

    © Copyright Housemarque Oy 2002
    © Copyright Paul Mensonides 2002
    -
    © Copyright Edward Diener 2011
    +© Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/ref/tuple_elem.html b/doc/ref/tuple_elem.html index 8edac98..417eaa2 100644 --- a/doc/ref/tuple_elem.html +++ b/doc/ref/tuple_elem.html @@ -13,7 +13,7 @@
    or

    -BOOST_PP_TUPLE_ELEM(...) (v)
    +BOOST_PP_TUPLE_ELEM(...) (v)

    Arguments

    @@ -49,12 +49,12 @@ or
    Header:  <boost/preprocessor/tuple/elem.hpp>

    Sample Code

    -
    #include <boost/preprocessor/tuple/elem.hpp>

    #define TUPLE (a, b, c, d)

    BOOST_PP_TUPLE_ELEM(4, 0, TUPLE) // expands to a
    BOOST_PP_TUPLE_ELEM(4, 3, TUPLE) // expands to d

    // or for the variadic version (v)

    BOOST_PP_TUPLE_ELEM(0, TUPLE) // expands to a in the variadic version
    BOOST_PP_TUPLE_ELEM(3, TUPLE) // expands to d in the variadic version
    +
    #include <boost/preprocessor/tuple/elem.hpp>

    #define TUPLE (a, b, c, d)

    BOOST_PP_TUPLE_ELEM(4, 0, TUPLE) // expands to a
    BOOST_PP_TUPLE_ELEM(4, 3, TUPLE) // expands to d

    // or for the variadic version (v)

    BOOST_PP_TUPLE_ELEM(0, TUPLE) // expands to a in the variadic version
    BOOST_PP_TUPLE_ELEM(3, TUPLE) // expands to d in the variadic version

    © Copyright Housemarque Oy 2002
    © Copyright Paul Mensonides 2002
    -
    © Copyright Edward Diener 2011
    + © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/ref/tuple_enum.html b/doc/ref/tuple_enum.html index a8c78a4..310bfff 100644 --- a/doc/ref/tuple_enum.html +++ b/doc/ref/tuple_enum.html @@ -10,7 +10,7 @@
    or

    -BOOST_PP_TUPLE_ENUM(...) (v)
    +BOOST_PP_TUPLE_ENUM(...) (v)

    Arguments

    @@ -25,7 +25,7 @@ or

    Remarks


    You can -invoke the variadic version (v) as BOOST_PP_TUPLE_ENUM(tuple) or +invoke the variadic version (v) as BOOST_PP_TUPLE_ENUM(tuple) or BOOST_PP_TUPLE_ENUM(size,tuple).

    See Also

    @@ -38,13 +38,13 @@ BOOST_PP_TUPLE_ENUM(size,tuple).

    Sample Code

    -
    #include <boost/preprocessor/tuple/enum.hpp>

    #define TUPLE (B,O,O,S,T)

    BOOST_PP_TUPLE_ENUM(5,TUPLE) // expands to B, O, O, S, T

    // or for the variadic version (v)

    BOOST_PP_TUPLE_ENUM(TUPLE) // expands to B, O, O, S, T
    +
    #include <boost/preprocessor/tuple/enum.hpp>

    #define TUPLE (B,O,O,S,T)

    BOOST_PP_TUPLE_ENUM(5,TUPLE) // expands to B, O, O, S, T

    // or for the variadic version (v)

    BOOST_PP_TUPLE_ENUM(TUPLE) // expands to B, O, O, S, T

    © Copyright Housemarque Oy 2002
    © Copyright Paul Mensonides 2002
    -
    © Copyright Edward Diener 2011
    +© Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. diff --git a/doc/ref/tuple_rem.html b/doc/ref/tuple_rem.html index 825e30d..5392e16 100644 --- a/doc/ref/tuple_rem.html +++ b/doc/ref/tuple_rem.html @@ -13,7 +13,7 @@
    or

    -BOOST_PP_TUPLE_REM(size) (v)
    +BOOST_PP_TUPLE_REM(size) (v)

    Arguments

    @@ -27,7 +27,7 @@ or
    The size argument must be the actual size of the tuple in the non-variadic version.

    -For the variadic version (v) the +For the variadic version (v) the size may be left out completely so that the macro can be invoked as BOOST_PP_TUPLE_REM(); you may get a warning from some compilers, but the functionality will still work. If you specify a size in the variadic @@ -44,12 +44,12 @@ not occur.
    Header:  <boost/preprocessor/tuple/rem.hpp>

    Sample Code

    -
    #include <boost/preprocessor/tuple/rem.hpp>

    BOOST_PP_TUPLE_REM(3)(x, y, z) // expands to x, y, z

    // or for the variadic version (v)

    BOOST_PP_TUPLE_REM()(x, y, z) // expands to x, y, z
    +
    #include <boost/preprocessor/tuple/rem.hpp>

    BOOST_PP_TUPLE_REM(3)(x, y, z) // expands to x, y, z

    // or for the variadic version (v)

    BOOST_PP_TUPLE_REM()(x, y, z) // expands to x, y, z

    © Copyright Housemarque Oy 2002
    © Copyright Paul Mensonides 2002
    -
    © Copyright Edward Diener 2011
    +© Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/ref/tuple_rem_ctor.html b/doc/ref/tuple_rem_ctor.html index acd530b..e065923 100644 --- a/doc/ref/tuple_rem_ctor.html +++ b/doc/ref/tuple_rem_ctor.html @@ -13,7 +13,7 @@
    or

    -BOOST_PP_TUPLE_REM_CTOR(...) (v)
    +BOOST_PP_TUPLE_REM_CTOR(...) (v)

    Arguments

    @@ -32,7 +32,7 @@ or
    The size argument must be the actual size of tuple.

    You can -invoke the variadic version (v) as BOOST_PP_TUPLE_REM_CTOR(tuple) or +invoke the variadic version (v) as BOOST_PP_TUPLE_REM_CTOR(tuple) or BOOST_PP_TUPLE_REM_CTOR(size,tuple).

    See Also

    @@ -44,12 +44,12 @@ BOOST_PP_TUPLE_REM_CTOR(size,tuple).
    Header:  <boost/preprocessor/tuple/rem.hpp>

    Sample Code

    -
    #include <boost/preprocessor/tuple/rem.hpp>

    BOOST_PP_TUPLE_REM_CTOR(3, (x, y, z)) // expands to x, y, z

    // or for the variadic version (v)

    BOOST_PP_TUPLE_REM_CTOR((x, y, z)) // expands to x, y, z
    +
    #include <boost/preprocessor/tuple/rem.hpp>

    BOOST_PP_TUPLE_REM_CTOR(3, (x, y, z)) // expands to x, y, z

    // or for the variadic version (v)

    BOOST_PP_TUPLE_REM_CTOR((x, y, z)) // expands to x, y, z

    © Copyright Housemarque Oy 2002
    © Copyright Paul Mensonides 2002
    -
    © Copyright Edward Diener 2011
    +© Copyright Edward Diener 2011,2013
    diff --git a/doc/ref/tuple_reverse.html b/doc/ref/tuple_reverse.html index 39c95c9..41e95fe 100644 --- a/doc/ref/tuple_reverse.html +++ b/doc/ref/tuple_reverse.html @@ -13,7 +13,7 @@
    or

    -BOOST_PP_TUPLE_REVERSE(...) (v)
    +BOOST_PP_TUPLE_REVERSE(...) (v)

    Arguments

    @@ -33,7 +33,7 @@ or
    The size argument must be the actual size of the tuple.

    You can -invoke the variadic version (v) as BOOST_PP_TUPLE_REVERSE(tuple) or +invoke the variadic version (v) as BOOST_PP_TUPLE_REVERSE(tuple) or BOOST_PP_TUPLE_REVERSE(size,tuple).

    See Also

    @@ -45,12 +45,12 @@ BOOST_PP_TUPLE_REVERSE(size,tuple).
    Header:  <boost/preprocessor/tuple/reverse.hpp>

    Sample Code

    -
    #include <boost/preprocessor/tuple/reverse.hpp>

    BOOST_PP_TUPLE_REVERSE(3, (x, y, z)) // expands to (z, y, x)

    // or for the variadic version (v)

    BOOST_PP_TUPLE_REVERSE((x, y, z)) // expands to (z, y, x)
    +
    #include <boost/preprocessor/tuple/reverse.hpp>

    BOOST_PP_TUPLE_REVERSE(3, (x, y, z)) // expands to (z, y, x)

    // or for the variadic version (v)

    BOOST_PP_TUPLE_REVERSE((x, y, z)) // expands to (z, y, x)

    © Copyright Housemarque Oy 2002
    © Copyright Paul Mensonides 2002
    -
    © Copyright Edward Diener 2011
    +© Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/ref/tuple_size.html b/doc/ref/tuple_size.html index ac97dd5..b1dfec3 100644 --- a/doc/ref/tuple_size.html +++ b/doc/ref/tuple_size.html @@ -7,7 +7,7 @@

    The BOOST_PP_TUPLE_SIZE macro expands to the size of the tuple passed to it.

    Usage

    -
    BOOST_PP_TUPLE_SIZE(tuple) (v)
    +
    BOOST_PP_TUPLE_SIZE(tuple) (v)

    Arguments

    @@ -22,7 +22,7 @@ expands to the size of the tuple passed to it.
    #include <boost/preprocessor/tuple/size.hpp>

    #define TUPLE (x, y, z)

    BOOST_PP_TUPLE_SIZE(TUPLE) // expands to 3

    -
    © Copyright Edward Diener 2011
    +
    © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt diff --git a/doc/ref/tuple_to_array.html b/doc/ref/tuple_to_array.html index 627d682..be57bac 100644 --- a/doc/ref/tuple_to_array.html +++ b/doc/ref/tuple_to_array.html @@ -12,7 +12,7 @@ converts a tuple to an array.


    or

    -BOOST_PP_TUPLE_TO_ARRAY(...) (v)
    +BOOST_PP_TUPLE_TO_ARRAY(...) (v)

    Arguments

    @@ -28,7 +28,7 @@ range from 1 to BOOST_PP_LIMIT_TUPLE.
    The size argument must be the actual size of the tuple.

    You can -invoke the variadic version (v) as BOOST_PP_TUPLE_TO_ARRAY(tuple) or +invoke the variadic version (v) as BOOST_PP_TUPLE_TO_ARRAY(tuple) or BOOST_PP_TUPLE_TO_ARRAY(size,tuple).

    Requirements

    @@ -36,10 +36,10 @@ BOOST_PP_TUPLE_TO_ARRAY(size,tuple).boost/preprocessor/tuple/to_array.hpp>

    #define TUPLE (a,b,c)

    BOOST_PP_TUPLE_TO_ARRAY(3,TUPLE) // expands to (3, (a, b, c))

    // or for the variadic version (v)

    BOOST_PP_TUPLE_TO_ARRAY(TUPLE) // expands to (3, (a, b, c))
    +
    #include <boost/preprocessor/tuple/to_array.hpp>

    #define TUPLE (a,b,c)

    BOOST_PP_TUPLE_TO_ARRAY(3,TUPLE) // expands to (3, (a, b, c))

    // or for the variadic version (v)

    BOOST_PP_TUPLE_TO_ARRAY(TUPLE) // expands to (3, (a, b, c))

    -
    © Copyright Edward Diener 2011 +
    © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. diff --git a/doc/ref/tuple_to_list.html b/doc/ref/tuple_to_list.html index 0699766..01b8dbb 100644 --- a/doc/ref/tuple_to_list.html +++ b/doc/ref/tuple_to_list.html @@ -13,7 +13,7 @@
    or

    -BOOST_PP_TUPLE_TO_LIST(...) (v)
    +BOOST_PP_TUPLE_TO_LIST(...) (v)

    Arguments

    @@ -32,7 +32,7 @@ or
    The size argument must be the actual size of the tuple.

    You can -invoke the variadic version (v) as BOOST_PP_TUPLE_TO_LIST(tuple) or +invoke the variadic version (v) as BOOST_PP_TUPLE_TO_LIST(tuple) or BOOST_PP_TUPLE_TO_LIST(size,tuple).

    See Also

    @@ -44,12 +44,12 @@ BOOST_PP_TUPLE_TO_LIST(size,tuple).
    Header:  <boost/preprocessor/tuple/to_list.hpp>

    Sample Code

    -
    #include <boost/preprocessor/tuple/to_list.hpp>

    BOOST_PP_TUPLE_TO_LIST(3, (x, y, z))
    // expands to (x, (y, (z, BOOST_PP_NIL)))

    // or for the variadic version (v)

    BOOST_PP_TUPLE_TO_LIST((x, y, z))
    // expands to (x, (y, (z, BOOST_PP_NIL)))
    +
    #include <boost/preprocessor/tuple/to_list.hpp>

    BOOST_PP_TUPLE_TO_LIST(3, (x, y, z))
    // expands to (x, (y, (z, BOOST_PP_NIL)))

    // or for the variadic version (v)

    BOOST_PP_TUPLE_TO_LIST((x, y, z))
    // expands to (x, (y, (z, BOOST_PP_NIL)))

    © Copyright Housemarque Oy 2002
    © Copyright Paul Mensonides 2002
    -
    © Copyright Edward Diener 2011
    +© Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See diff --git a/doc/ref/tuple_to_seq.html b/doc/ref/tuple_to_seq.html index fd3b4ec..28e23eb 100644 --- a/doc/ref/tuple_to_seq.html +++ b/doc/ref/tuple_to_seq.html @@ -11,7 +11,7 @@ converts a tuple to an seq.


    or

    -BOOST_PP_TUPLE_TO_SEQ(...) (v)
    +BOOST_PP_TUPLE_TO_SEQ(...) (v)

    Arguments

    @@ -26,7 +26,7 @@ or
    The size argument must be the actual size of the tuple.

    You can -invoke the variadic version (v) as BOOST_PP_TUPLE_TO_SEQ(tuple) or +invoke the variadic version (v) as BOOST_PP_TUPLE_TO_SEQ(tuple) or BOOST_PP_TUPLE_TO_SEQ(size,tuple).

    Requirements

    @@ -34,13 +34,13 @@ BOOST_PP_TUPLE_TO_SEQ(size,tuple).boost/preprocessor/tuple/to_seq.hpp>

    BOOST_PP_TUPLE_TO_SEQ(3, (a, b, c)) // expands to (a)(b)(c)

    // or for the variadic version (v)

    BOOST_PP_TUPLE_TO_SEQ((a, b, c)) // expands to (a)(b)(c)
    +
    #include <boost/preprocessor/tuple/to_seq.hpp>

    BOOST_PP_TUPLE_TO_SEQ(3, (a, b, c)) // expands to (a)(b)(c)

    // or for the variadic version (v)

    BOOST_PP_TUPLE_TO_SEQ((a, b, c)) // expands to (a)(b)(c)

    © Copyright Housemarque Oy 2002
    © Copyright Paul Mensonides 2002
    -
    © Copyright Edward Diener 2011
    +© Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. diff --git a/doc/ref/variadic_elem.html b/doc/ref/variadic_elem.html index 326a0d4..73cffc5 100644 --- a/doc/ref/variadic_elem.html +++ b/doc/ref/variadic_elem.html @@ -7,7 +7,7 @@

    The BOOST_PP_VARIADIC_ELEM variadic macro extracts an element from variadic data.

    Usage

    -
    BOOST_PP_VARIADIC_ELEM(i, ...) (v)
    +
    BOOST_PP_VARIADIC_ELEM(i, ...) (v)

    Arguments

    i
    @@ -32,7 +32,7 @@ extracted.  Valid values range from 0 to the size of the variadic da
    #include <boost/preprocessor/variadic/elem.hpp>

    #define VAR_DATA a, b, c, d

    BOOST_PP_VARIADIC_ELEM(0, VAR_DATA) // expands to a
    BOOST_PP_VARIADIC_ELEM(3, VAR_DATA) // expands to d

    -
    © Copyright Edward Diener 2011
    +
    © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt diff --git a/doc/ref/variadic_seq_to_seq.html b/doc/ref/variadic_seq_to_seq.html new file mode 100644 index 0000000..ba5bdc4 --- /dev/null +++ b/doc/ref/variadic_seq_to_seq.html @@ -0,0 +1,35 @@ + + + BOOST_PP_VARIADIC_SEQ_TO_SEQ + + + +

    The BOOST_PP_VARIADIC_SEQ_TO_SEQ variadic macro +converts a variadic seq to a seq.
    +

    Usage

    +
    BOOST_PP_VARIADIC_SEQ_TO_SEQ(vseq)(v)
    +

    Arguments

    +
    +
    vseq
    +
    +
    The variadic seq to be converted.
    +
    +

    Requirements

    + +

    Sample Code

    +
    +
    #include <boost/preprocessor/seq/variadic_seq_to_seq.hpp>

    +BOOST_PP_VARIADIC_SEQ_TO_SEQ((1)(2, 3)(4, 5, 6)) // expands to ((1))((2, 3))((4, 5, 6))
    +
    +
    +
    + © Copyright Paul Mensonides 2012 +
    +
    +

    Distributed under the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt +or copy at www.boost.org/LICENSE_1_0.txt)

    +
    + + diff --git a/doc/ref/variadic_size.html b/doc/ref/variadic_size.html index b1a9f36..8986ef8 100644 --- a/doc/ref/variadic_size.html +++ b/doc/ref/variadic_size.html @@ -7,7 +7,7 @@
    The BOOST_PP_VARIADIC_SIZE variadic macro expands to the size of the variadic data passed to it.

    Usage

    -
    BOOST_PP_VARIADIC_SIZE(...) (v)
    +
    BOOST_PP_VARIADIC_SIZE(...) (v)

    Arguments

    @@ -23,7 +23,7 @@ expands to the size of the variadic data passed to it.
    #include <boost/preprocessor/variadic/size.hpp>

    #define VAR_DATA x, y, z

    BOOST_PP_VARIADIC_SIZE(VAR_DATA) // expands to 3

    -
    © Copyright Edward Diener 2011
    +
    © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt diff --git a/doc/ref/variadic_to_array.html b/doc/ref/variadic_to_array.html index 217cb81..85304a9 100644 --- a/doc/ref/variadic_to_array.html +++ b/doc/ref/variadic_to_array.html @@ -7,7 +7,7 @@

    The BOOST_PP_VARIADIC_TO_ARRAY variadic macro converts variadic data to an array.

    Usage

    -
    BOOST_PP_VARIADIC_TO_ARRAY(...) (v)
    +
    BOOST_PP_VARIADIC_TO_ARRAY(...) (v)

    Arguments

    @@ -22,7 +22,7 @@ converts variadic data to an array.
    #include <boost/preprocessor/variadic/to_array.hpp>

    #define VAR_DATA a, b, c

    BOOST_PP_VARIADIC_TO_ARRAY(VAR_DATA) // expands to (3, (a, b, c))

    -
    © Copyright Edward Diener 2011
    +
    © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt diff --git a/doc/ref/variadic_to_list.html b/doc/ref/variadic_to_list.html index fa55ce6..e823373 100644 --- a/doc/ref/variadic_to_list.html +++ b/doc/ref/variadic_to_list.html @@ -7,7 +7,7 @@

    The BOOST_PP_VARIADIC_TO_LIST variadic macro converts variadic data to a list.

    Usage

    -
    BOOST_PP_VARIADIC_TO_LIST(...) (v)
    +
    BOOST_PP_VARIADIC_TO_LIST(...) (v)

    Arguments

    ...
    @@ -21,7 +21,7 @@ variadic macro converts variadic data to a list.
    #include <boost/preprocessor/variadic/to_list.hpp>

    BOOST_PP_VARIADIC_TO_LIST(x, y, z)
    // expands to (x, (y, (z, BOOST_PP_NIL)))

    -
    © Copyright Edward Diener 2011
    +
    © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt diff --git a/doc/ref/variadic_to_seq.html b/doc/ref/variadic_to_seq.html index 529da0a..19b3b54 100644 --- a/doc/ref/variadic_to_seq.html +++ b/doc/ref/variadic_to_seq.html @@ -7,7 +7,7 @@

    The BOOST_PP_VARIADIC_TO_SEQ variadic macro converts a variadic data to a seq.

    Usage

    -
    BOOST_PP_VARIADIC_TO_SEQ(...) (v)
    +
    BOOST_PP_VARIADIC_TO_SEQ(...) (v)

    Arguments

    ...
    diff --git a/doc/ref/variadic_to_tuple.html b/doc/ref/variadic_to_tuple.html index 968afdb..c966cab 100644 --- a/doc/ref/variadic_to_tuple.html +++ b/doc/ref/variadic_to_tuple.html @@ -7,7 +7,7 @@
    The BOOST_PP_VARIADIC_TO_TUPLE variadic macro converts variadic data to a tuple.

    Usage

    -
    BOOST_PP_VARIADIC_TO_TUPLE(...) (v)
    +
    BOOST_PP_VARIADIC_TO_TUPLE(...)(v)

    Arguments

    ...
    @@ -22,7 +22,7 @@ converts variadic data to a tuple.
    #include <boost/preprocessor/variadic/to_tuple.hpp>

    #define VAR_DATA a, b, c

    BOOST_PP_VARIADIC_TO_TUPLE(VAR_DATA) // expands to (a, b, c)

    -
    © Copyright Edward Diener 2011
    +
    © Copyright Edward Diener 2011,2013

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt diff --git a/include/boost/preprocessor.hpp b/include/boost/preprocessor.hpp index 6f5c822..b5c928e 100644 --- a/include/boost/preprocessor.hpp +++ b/include/boost/preprocessor.hpp @@ -7,7 +7,7 @@ # * http://www.boost.org/LICENSE_1_0.txt) # */ # -# /* Revised by Paul Mensonides (2002) */ +# /* Revised by Paul Mensonides (2002) */ # # /* See http://www.boost.org/libs/preprocessor for documentation. */ # diff --git a/include/boost/preprocessor/config/config.hpp b/include/boost/preprocessor/config/config.hpp index ec8ea87..b6afbab 100644 --- a/include/boost/preprocessor/config/config.hpp +++ b/include/boost/preprocessor/config/config.hpp @@ -45,7 +45,7 @@ # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) # elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC) # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC()) -# elif defined(_MSC_VER) +# elif defined(_MSC_VER) && !defined(__clang__) # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC()) # else # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) diff --git a/include/boost/preprocessor/seq.hpp b/include/boost/preprocessor/seq.hpp index 6d78f43..cde208c 100644 --- a/include/boost/preprocessor/seq.hpp +++ b/include/boost/preprocessor/seq.hpp @@ -39,5 +39,6 @@ # include # include # include +# include # # endif diff --git a/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp b/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp new file mode 100644 index 0000000..f94a2bf --- /dev/null +++ b/include/boost/preprocessor/seq/variadic_seq_to_seq.hpp @@ -0,0 +1,28 @@ +# /* ************************************************************************** +# * * +# * (C) Copyright Paul Mensonides 2012. * +# * Distributed under the Boost Software License, Version 1.0. (See * +# * accompanying file LICENSE_1_0.txt or copy at * +# * http://www.boost.org/LICENSE_1_0.txt) * +# * * +# ************************************************************************** */ +# +# /* See http://www.boost.org for most recent version. */ +# +# ifndef BOOST_PREPROCESSOR_SEQ_VARIADIC_SEQ_TO_SEQ_HPP +# define BOOST_PREPROCESSOR_SEQ_VARIADIC_SEQ_TO_SEQ_HPP +# +# include +# include +# +# /* BOOST_PP_VARIADIC_SEQ_TO_SEQ */ +# +# if BOOST_PP_VARIADICS +# define BOOST_PP_VARIADIC_SEQ_TO_SEQ(vseq) BOOST_PP_CAT(BOOST_PP_VARIADIC_SEQ_TO_SEQ_A vseq, 0) +# define BOOST_PP_VARIADIC_SEQ_TO_SEQ_A(...) ((__VA_ARGS__)) BOOST_PP_VARIADIC_SEQ_TO_SEQ_B +# define BOOST_PP_VARIADIC_SEQ_TO_SEQ_B(...) ((__VA_ARGS__)) BOOST_PP_VARIADIC_SEQ_TO_SEQ_A +# define BOOST_PP_VARIADIC_SEQ_TO_SEQ_A0 +# define BOOST_PP_VARIADIC_SEQ_TO_SEQ_B0 +# endif +# +# endif