From 3443ca0a510fe52de8682df428809de16ef7294a Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Mon, 15 Aug 2011 15:58:25 +0000 Subject: [PATCH 01/11] Delay of BOOST_PP_VARIADIC_ELEM fixes problem when variadic data must be generated. [SVN r73776] --- include/boost/preprocessor/variadic/elem.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/boost/preprocessor/variadic/elem.hpp b/include/boost/preprocessor/variadic/elem.hpp index a4864ac..be38a94 100644 --- a/include/boost/preprocessor/variadic/elem.hpp +++ b/include/boost/preprocessor/variadic/elem.hpp @@ -20,7 +20,8 @@ # # if BOOST_PP_VARIADICS # if BOOST_PP_VARIADICS_MSVC -# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,),) +# define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_VARIADIC_ELEM_I(n,__VA_ARGS__) +# define BOOST_PP_VARIADIC_ELEM_I(n, ...) BOOST_PP_CAT(BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,),) # else # define BOOST_PP_VARIADIC_ELEM(n, ...) BOOST_PP_CAT(BOOST_PP_VARIADIC_ELEM_, n)(__VA_ARGS__,) # endif From 46caf30af4d693987658b255f87d4699a296bddf Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Thu, 27 Oct 2011 02:03:36 +0000 Subject: [PATCH 02/11] Update link to the C++ Template Metaprogramming book Appendix A online. [SVN r75125] --- doc/contents.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/contents.html b/doc/contents.html index 18008a4..b529517 100644 --- a/doc/contents.html +++ b/doc/contents.html @@ -8,7 +8,7 @@ -

Introduction

+

Introduction

Topics

Terminology

Data Types

From 7346503b966dc3681063d126f0b0e6c54d0a841b Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Thu, 27 Oct 2011 02:10:02 +0000 Subject: [PATCH 03/11] Update link to the C++ Template Metaprogramming book Appendix A online. [SVN r75126] --- doc/title.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/title.html b/doc/title.html index cf447e4..b3dce75 100644 --- a/doc/title.html +++ b/doc/title.html @@ -6,7 +6,7 @@

Introduction

- An excerpt from C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond by Dave Abrahams and Aleksey Gurtovoy has been made available online. + An excerpt from C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond by Dave Abrahams and Aleksey Gurtovoy has been made available online. This excerpt contains a basic introduction to the Preprocessor library and preprocessor metaprogramming which may help users new to the library and users interested in seeing some of the facilities offered by the library.
From b60a47252d1b87d169bc4eac2b19f6c2916e9983 Mon Sep 17 00:00:00 2001 From: Paul Mensonides Date: Wed, 26 Sep 2012 03:50:27 +0000 Subject: [PATCH 04/11] added VARIADIC_SEQ_TO_SEQ [SVN r80704] --- doc/headers.html | 1 + doc/headers/seq.html | 2 ++ doc/headers/seq/variadic_seq_to_seq.html | 34 ++++++++++++++++++ doc/ref.html | 1 + doc/ref/variadic_seq_to_seq.html | 35 +++++++++++++++++++ include/boost/preprocessor/seq.hpp | 1 + .../preprocessor/seq/variadic_seq_to_seq.hpp | 28 +++++++++++++++ 7 files changed, 102 insertions(+) create mode 100644 doc/headers/seq/variadic_seq_to_seq.html create mode 100644 doc/ref/variadic_seq_to_seq.html create mode 100644 include/boost/preprocessor/seq/variadic_seq_to_seq.hpp diff --git a/doc/headers.html b/doc/headers.html index 739dafb..00a7ac4 100644 --- a/doc/headers.html +++ b/doc/headers.html @@ -194,6 +194,7 @@
  • to_list.hpp
  • to_tuple.hpp
  • transform.hpp
  • +
  • variadic_seq_to_seq.hpp
  • slot.hpp
  • slot/
  • counter.hpp
  • 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/ref.html b/doc/ref.html index eb8d926..c690571 100644 --- a/doc/ref.html +++ b/doc/ref.html @@ -281,6 +281,7 @@
  • VALUE
  • VARIADICS
  • VARIADIC_ELEM (v)
  • +
  • VARIADIC_SEQ_TO_SEQ (v)
  • VARIADIC_SIZE (v)
  • VARIADIC_TO_ARRAY (v)
  • VARIADIC_TO_LIST (v)
  • diff --git a/doc/ref/variadic_seq_to_seq.html b/doc/ref/variadic_seq_to_seq.html new file mode 100644 index 0000000..d7705a4 --- /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

    +
    Header:  <boost/preprocessor/seq/variadic_seq_to_seq.hpp> +
    +

    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/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 From b07cc69819049d4417e5ea3647c85bf789e4cbc7 Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Sun, 14 Apr 2013 00:50:30 +0000 Subject: [PATCH 05/11] Updated documentation linking the (v) notation to a named anchor explaining it. [SVN r83890] --- doc/topics/variadic_macros.html | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/topics/variadic_macros.html b/doc/topics/variadic_macros.html index a1b079c..32b1fb4 100644 --- a/doc/topics/variadic_macros.html +++ b/doc/topics/variadic_macros.html @@ -64,6 +64,7 @@ other library data types, since the functionality for working with those Boost preprocessor library data types is much greater than that for working with variadic data directly.
    +

    Notation For Variadic Macros

    In the documentation, headers which have variadic macros, From e630b6e23fce289fc140727ebb8c0c29132209eb Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Sun, 14 Apr 2013 01:46:09 +0000 Subject: [PATCH 06/11] Updated documentation linking the (v) notation to a named anchor explaining it. [SVN r83891] --- doc/headers.html | 32 ++++++++++++------------- doc/headers/facilities.html | 2 +- doc/headers/facilities/overload.html | 4 ++-- doc/headers/tuple.html | 18 +++++++------- doc/headers/tuple/eat.html | 2 +- doc/headers/tuple/elem.html | 2 +- doc/headers/tuple/enum.html | 4 ++-- doc/headers/tuple/rem.html | 4 ++-- doc/headers/tuple/reverse.html | 2 +- doc/headers/tuple/size.html | 4 ++-- doc/headers/tuple/to_array.html | 4 ++-- doc/headers/tuple/to_list.html | 2 +- doc/headers/tuple/to_seq.html | 2 +- doc/headers/variadic.html | 14 +++++------ doc/headers/variadic/elem.html | 4 ++-- doc/headers/variadic/size.html | 4 ++-- doc/headers/variadic/to_array.html | 4 ++-- doc/headers/variadic/to_list.html | 4 ++-- doc/headers/variadic/to_seq.html | 4 ++-- doc/headers/variadic/to_tuple.html | 4 ++-- doc/ref.html | 36 ++++++++++++++-------------- doc/ref/overload.html | 4 ++-- doc/ref/tuple_eat.html | 8 +++---- doc/ref/tuple_elem.html | 6 ++--- doc/ref/tuple_enum.html | 8 +++---- doc/ref/tuple_rem.html | 8 +++---- doc/ref/tuple_rem_ctor.html | 8 +++---- doc/ref/tuple_reverse.html | 8 +++---- doc/ref/tuple_size.html | 4 ++-- doc/ref/tuple_to_array.html | 8 +++---- doc/ref/tuple_to_list.html | 8 +++---- doc/ref/tuple_to_seq.html | 8 +++---- doc/ref/variadic_elem.html | 4 ++-- doc/ref/variadic_seq_to_seq.html | 2 +- doc/ref/variadic_size.html | 4 ++-- doc/ref/variadic_to_array.html | 4 ++-- doc/ref/variadic_to_list.html | 4 ++-- doc/ref/variadic_to_seq.html | 2 +- doc/ref/variadic_to_tuple.html | 4 ++-- doc/topics/variadic_macros.html | 2 +- 40 files changed, 130 insertions(+), 130 deletions(-) diff --git a/doc/headers.html b/doc/headers.html index 00a7ac4..712b05e 100644 --- a/doc/headers.html +++ b/doc/headers.html @@ -83,7 +83,7 @@
  • expand.hpp
  • identity.hpp
  • intercept.hpp
  • -
  • overload.hpp (v)
  • +
  • overload.hpp (v)
  • for.hpp*
  • identity.hpp*
  • if.hpp*
  • @@ -201,24 +201,24 @@
  • slot.hpp
  • tuple.hpp
  • tuple/
  • -
  • eat.hpp (v)
  • -
  • elem.hpp (v)
  • -
  • enum.hpp (v)
  • -
  • rem.hpp (v)
  • -
  • reverse.hpp (v)
  • -
  • size.hpp (v)
  • -
  • to_array.hpp (v)
  • -
  • to_list.hpp (v)
  • -
  • to_seq.hpp (v)
  • +
  • eat.hpp (v)
  • +
  • elem.hpp (v)
  • +
  • enum.hpp (v)
  • +
  • rem.hpp (v)
  • +
  • reverse.hpp (v)
  • +
  • size.hpp (v)
  • +
  • to_array.hpp (v)
  • +
  • to_list.hpp (v)
  • +
  • to_seq.hpp (v)
  • stringize.hpp
  • variadic.hpp
  • variadic/
  • -
  • elem.hpp (v)
  • -
  • size.hpp (v)
  • -
  • to_array.hpp (v)
  • -
  • to_list.hpp (v)
  • -
  • to_seq.hpp (v)
  • -
  • to_tuple.hpp (v)
  • +
  • elem.hpp (v)
  • +
  • size.hpp (v)
  • +
  • to_array.hpp (v)
  • +
  • to_list.hpp (v)
  • +
  • to_seq.hpp (v)
  • +
  • to_tuple.hpp (v)
  • while.hpp*
  • wstringize.hpp
  • 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/tuple.html b/doc/headers/tuple.html index 55e9ade..4117e89 100644 --- a/doc/headers/tuple.html +++ b/doc/headers/tuple.html @@ -13,15 +13,15 @@

    Includes


    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.html b/doc/ref.html index c690571..145753d 100644 --- a/doc/ref.html +++ b/doc/ref.html @@ -202,7 +202,7 @@

  • NOT_EQUAL_D*
  • OR
  • -
  • OVERLOAD (v)
  • +
  • OVERLOAD (v)
  • RELATIVE_FINISH
  • RELATIVE_FLAGS
  • @@ -265,28 +265,28 @@
  • SUB
  • SUB_D
  • -
  • TUPLE_EAT (v)
  • -
  • TUPLE_ELEM (v)
  • -
  • TUPLE_ENUM (v)
  • -
  • TUPLE_REM (v)
  • -
  • TUPLE_REM_CTOR (v)
  • -
  • TUPLE_REVERSE (v)
  • -
  • TUPLE_SIZE (v)
  • -
  • TUPLE_TO_ARRAY (v)
  • -
  • TUPLE_TO_LIST (v)
  • -
  • TUPLE_TO_SEQ (v)
  • +
  • TUPLE_EAT (v)
  • +
  • TUPLE_ELEM (v)
  • +
  • TUPLE_ENUM (v)
  • +
  • TUPLE_REM (v)
  • +
  • TUPLE_REM_CTOR (v)
  • +
  • TUPLE_REVERSE (v)
  • +
  • TUPLE_SIZE (v)
  • +
  • TUPLE_TO_ARRAY (v)
  • +
  • TUPLE_TO_LIST (v)
  • +
  • TUPLE_TO_SEQ (v)
  • UPDATE_COUNTER
  • VALUE
  • VARIADICS
  • -
  • VARIADIC_ELEM (v)
  • -
  • VARIADIC_SEQ_TO_SEQ (v)
  • -
  • VARIADIC_SIZE (v)
  • -
  • VARIADIC_TO_ARRAY (v)
  • -
  • VARIADIC_TO_LIST (v)
  • -
  • VARIADIC_TO_SEQ (v)
  • -
  • VARIADIC_TO_TUPLE (v)
  • +
  • VARIADIC_ELEM (v)
  • +
  • VARIADIC_SEQ_TO_SEQ (v)
  • +
  • VARIADIC_SIZE (v)
  • +
  • VARIADIC_TO_ARRAY (v)
  • +
  • VARIADIC_TO_LIST (v)
  • +
  • VARIADIC_TO_SEQ (v)
  • +
  • VARIADIC_TO_TUPLE (v)
  • WHILE
  • WHILE_d
  • 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 b2de7a2..dc17129 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 @@ -43,12 +43,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 index d7705a4..ba5bdc4 100644 --- a/doc/ref/variadic_seq_to_seq.html +++ b/doc/ref/variadic_seq_to_seq.html @@ -7,7 +7,7 @@

    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)
    +
    BOOST_PP_VARIADIC_SEQ_TO_SEQ(vseq)(v)

    Arguments

    vseq
    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/doc/topics/variadic_macros.html b/doc/topics/variadic_macros.html index 32b1fb4..35c5e5d 100644 --- a/doc/topics/variadic_macros.html +++ b/doc/topics/variadic_macros.html @@ -232,7 +232,7 @@ Macros


    © Copyright Edward Diener -2011
    +2011,2013

    Distributed under the Boost Software License, Version 1.0. From d51297c62b11bf6a04bde4670727895e90676d25 Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Sun, 14 Apr 2013 14:48:50 +0000 Subject: [PATCH 07/11] Removed redundant explanation. [SVN r83898] --- doc/topics/variadic_macros.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/doc/topics/variadic_macros.html b/doc/topics/variadic_macros.html index 35c5e5d..3794db1 100644 --- a/doc/topics/variadic_macros.html +++ b/doc/topics/variadic_macros.html @@ -73,9 +73,7 @@ variadic macros themselves, have a notation of '(v)' appended to them. For the variadic macros themselves this signifies that BOOST_PP_VARIADICS must be 1 for those variadic macros to be usable. For variadic macros which have a non-variadic equivalent, the -non-variadic equivalent will be used if BOOST_PP_VARIADICS is set to 0 -and the non-variadic version of the -macro does not have a '(v)' appended to its name in the documentation. +non-variadic equivalent will be used if BOOST_PP_VARIADICS is set to 0.

    Extended Functionality Using Variadic Macros

    From 6f56be00eea439f2ab51f6bdce373bbfd5366657 Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Tue, 30 Jul 2013 00:36:47 +0000 Subject: [PATCH 08/11] Update to restore BOOST_PP_TUPLE_REM_0() [SVN r85172] --- include/boost/preprocessor/tuple/rem.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/boost/preprocessor/tuple/rem.hpp b/include/boost/preprocessor/tuple/rem.hpp index 4e3362c..af668a0 100644 --- a/include/boost/preprocessor/tuple/rem.hpp +++ b/include/boost/preprocessor/tuple/rem.hpp @@ -38,6 +38,7 @@ # endif # define BOOST_PP_TUPLE_REM_I(size) BOOST_PP_TUPLE_REM_ ## size # endif +# define BOOST_PP_TUPLE_REM_0() # define BOOST_PP_TUPLE_REM_1(e0) e0 # define BOOST_PP_TUPLE_REM_2(e0, e1) e0, e1 # define BOOST_PP_TUPLE_REM_3(e0, e1, e2) e0, e1, e2 From 1cd181a946778225c5944555d7bdb05296240f1e Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Sun, 29 Sep 2013 15:16:25 +0000 Subject: [PATCH 09/11] Changed for clang on Windows which defines _MSC_VER. [SVN r86004] --- include/boost/preprocessor/config/config.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/preprocessor/config/config.hpp b/include/boost/preprocessor/config/config.hpp index d02eb58..6ea6f51 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()) From 06b1bf9b21381aba7986ded6bc0095f4bb8cec23 Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Sun, 29 Sep 2013 19:21:46 +0000 Subject: [PATCH 10/11] Revert previous change for clang. [SVN r86011] --- include/boost/preprocessor/config/config.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/preprocessor/config/config.hpp b/include/boost/preprocessor/config/config.hpp index 6ea6f51..d02eb58 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) && !defined(__clang__) +# elif defined(_MSC_VER) # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC()) # else # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_STRICT()) From 5e0422ff9732b0ddb2908f381d58d6241b0d8461 Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Mon, 30 Sep 2013 02:04:47 +0000 Subject: [PATCH 11/11] Reinstate fix for clang so that it is recognized as strict compliance. [SVN r86044] --- include/boost/preprocessor/config/config.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/preprocessor/config/config.hpp b/include/boost/preprocessor/config/config.hpp index d02eb58..6ea6f51 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())