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 @@
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>
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)
+ Usage
+
+
+ Contents
+
+
+
+ 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
Usage
-
+
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
-
or
-BOOST_PP_TUPLE_EAT(size) (v)
+BOOST_PP_TUPLE_EAT(size) (v)
Arguments
@@ -26,7 +26,7 @@ or
Remarks
-
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 Paul Mensonides 2002
-© Copyright Edward Diener 2011
+© Copyright Edward Diener 2011,2013
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 Paul Mensonides 2002
- © Copyright Edward Diener 2011
+ © Copyright Edward Diener 2011,2013
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 Paul Mensonides 2002
-© Copyright Edward Diener 2011
+© Copyright Edward Diener 2011,2013
or
-BOOST_PP_TUPLE_REM(size) (v)
+BOOST_PP_TUPLE_REM(size) (v)
Arguments
@@ -27,7 +27,7 @@ or
-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 Paul Mensonides 2002
-© Copyright Edward Diener 2011
+© Copyright Edward Diener 2011,2013
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).
#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
#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)
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 @@
Usage
-
+
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
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.
#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))
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)
#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)))
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.
#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)
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 @@
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 @@
+
+
+ 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) 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 @@
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 @@
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 @@
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 Usage
-
+
Arguments
#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
- Usage
+ Arguments
+
+
+
+ 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))
+Usage
-
+
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
- Usage
-
+
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))
-Usage
-
+
Arguments
#include <boost/preprocessor/variadic/to_list.hpp>
BOOST_PP_VARIADIC_TO_LIST(x, y, z)
// expands to (x, (y, (z, BOOST_PP_NIL)))
- Usage
-
+
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 @@
Usage
- 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)
-