diff --git a/doc/headers.html b/doc/headers.html
index e96b25e..90b59fd 100644
--- a/doc/headers.html
+++ b/doc/headers.html
@@ -138,10 +138,8 @@
-
#include <boost/preprocessor/arithmetic/dec.hpp >
+
+ BOOST_PP_FOR_r
+
+
+
+
+ The BOOST_PP_FOR_r macro represents a reentry into the BOOST_PP_FOR repetition construct.
+
+ Usage
+
+ BOOST_PP_FOR_ ## r (state , pred , op , macro )
+
+ Arguments
+
+ r
+
+ The next available BOOST_PP_FOR repetition.
+
+ state
+
+ The initial state.
+
+ pred
+
+ A binary predicate of the form pred (r , state ).
+ This macro must expand to an integer in the range of 0 to BOOST_PP_LIMIT_MAG .
+ BOOST_PP_FOR repeatedly expands macro while this predicate returns non-zero.
+ This macro is called with the next available BOOST_PP_FOR repetition and the current state .
+
+ op
+
+ A binary operation of the form op (r , state ).
+ This operation is expanded by BOOST_PP_FOR with the next available BOOST_PP_FOR repetition and the current state .
+ This macro is repeatedly applied to the state , each time producing a new state , until pred returns 0 .
+
+ macro
+
+ A binary macro of the form macro (r , state ).
+ This macro is expanded by BOOST_PP_FOR with the next available BOOST_PP_FOR repetition and the current state .
+ This macro is is repeated by BOOST_PP_FOR until pred returns 0 .
+
+
+
Remarks
+
+ This macro expands to the sequence:
+
+ macro (r , state ) macro (r , op (r , state )) ... macro (r , op (r , ... op (r , state ) ... ))
+
+
+
+ At certain times, it may be necessary to perform the concatenation with
BOOST_PP_CAT rather than the preprocessor token-pasting operator.
+ This happens when the
r value is a macro invocation itself.
+ It needs a delay to allow it to expand.
+ The syntax in such a scenario becomes:
+
+ BOOST_PP_CAT (BOOST_PP_FOR_ , r )(state , pred , op , macro )
+
+
+
See Also
+
+
Requirements
+
+
Sample Code
+
-
-
© Copyright Housemarque Oy 2002
-
© Copyright Paul Mensonides 2002
- © Copyright Edward Diener 2014
-
-
-
+
+
+
© Copyright Housemarque Oy 2002
+
© Copyright Paul Mensonides 2002
+
+
+
diff --git a/doc/ref/for_r_macros.html b/doc/ref/for_r_macros.html
deleted file mode 100644
index e5dda58..0000000
--- a/doc/ref/for_r_macros.html
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
BOOST_PP_FOR_r_macros
-
-
- This is a list, based on functionality, of the macros which have an
- alternate
_r name, representing a reentry into the
BOOST_PP_FOR
- looping construct:
-
repetition
-
- list
-
- seq
-
- base
-
-
-
-
-
© Copyright Edward Diener 2014
-
-
-
diff --git a/doc/ref/is_begin_parens.html b/doc/ref/is_begin_parens.html
deleted file mode 100644
index 0e0b39c..0000000
--- a/doc/ref/is_begin_parens.html
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
BOOST_PP_IS_BEGIN_PARENS
-
-
-
-
The BOOST_PP_IS_BEGIN_PAREN S
- determines whether the input starts with a set of parenthesis.
-
Usage
-
BOOST_PP_IS_BEGIN_PARENS (...)
(v)
-
Arguments
-
...
- The input as variadic data.
-
Remarks
-
If the input input begins with a parenthesis, with any data within
- that parenthesis, the macro returns 1, otherwise it returns 0. Data may
- follow the beginning parenthesis and the macro still will return 1.
-
- For Visual Studio 2005 ( VC8 ) the input data must be a single parameter
- else a compilation error will occur.
-
See Also
-
-
Requirements
-
-
Sample Code
-
-
#include <boost/preprocessor/punctuation/is_begin_parens.hpp >
-
-#define VARDATA more_data , more_params #define VARDATAP ( data ) more_data , more_params #define DATA data #define DATAP ( data ) more_data
-BOOST_PP_IS_BEGIN_PARENS(VARDATA) // expands to 0, compiler error with VC8
-BOOST_PP_IS_BEGIN_PARENS(VARDATAP) // expands to 1, compiler error with VC8 BOOST_PP_IS_BEGIN_PARENS(DATA) // expands to 0
-BOOST_PP_IS_BEGIN_PARENS(DATAP) // expands to 1 BOOST_PP_IS_BEGIN_PARENS() // expands to 0
-
-
-
© Copyright Edward Diener 2014
-
-
-
diff --git a/doc/ref/list_to_array.html b/doc/ref/list_to_array.html
index 46154c9..b691b34 100644
--- a/doc/ref/list_to_array.html
+++ b/doc/ref/list_to_array.html
@@ -1,47 +1,39 @@
-
-
-
BOOST_PP_LIST_TO_ARRAY
-
-
-
-
The BOOST_PP_LIST_TO_ARRAY macro
- converts a list to an array .
-
Usage
-
BOOST_PP_LIST_TO_ARRAY (list )
-
Arguments
-
- list
- The list to be converted.
-
-
-
Remarks
-
This macro uses BOOST_PP_WHILE . Within BOOST_PP_WHILE ,
- it is more efficient to use BOOST_PP_LIST_TO_ARRAY_D .
-
- If the list to be converted is empty, as represented by
- 'BOOST_PP_NIL', the resulting array is empty, as represented by '( 0, ()
- )'.
-
See Also
-
-
Requirements
-
-
Sample Code
-
-
-
© Copyright Edward Diener 2011
-
-
-
+
+
BOOST_PP_LIST_TO_ARRAY
+
+
+
The BOOST_PP_LIST_TO_ARRAY macro
+converts a list to an array .
+
Usage
+
BOOST_PP_LIST_TO_ARRAY (list )
+
Arguments
+
+ list
+ The list to be converted.
+
+
Remarks
+
+ This macro uses BOOST_PP_WHILE .
+ Within BOOST_PP_WHILE , it is more efficient to use BOOST_PP_LIST_TO_ARRAY_D .
+
+
See Also
+
+
Requirements
+
+
Sample Code
+
+
+
© Copyright Edward Diener 2011
+
+
diff --git a/doc/ref/list_to_array_d.html b/doc/ref/list_to_array_d.html
index 835d9e2..8d93328 100644
--- a/doc/ref/list_to_array_d.html
+++ b/doc/ref/list_to_array_d.html
@@ -1,34 +1,27 @@
-
-
-
BOOST_PP_LIST_TO_ARRAY_D
-
-
-
-
The BOOST_PP_LIST_TO_ARRAY_D macro
- converts a list to an array . It reenters BOOST_PP_WHILE
- with maximum efficiency.
-
Usage
-
BOOST_PP_LIST_TO_ARRAY_D (d , list )
-
-
Arguments
-
- d
- The next available BOOST_PP_WHILE iteration.
- list
- The list to be converted.
-
-
Remarks
-
If the list to be converted is empty, as
- represented by 'BOOST_PP_NIL', the resulting array is empty, as
- represented by '( 0, () )'.
-
See Also
-
See Also
-
-
Requirements
-
-
+
+
BOOST_PP_LIST_TO_ARRAY_D
+
+
+
+The BOOST_PP_LIST_TO_ARRAY_D macro converts a list to an array .
+It reenters BOOST_PP_WHILE with maximum efficiency.
+
+
Usage
+
BOOST_PP_LIST_TO_ARRAY_D (d , list )
+
Arguments
+
+ d
+ The next available BOOST_PP_WHILE iteration.
+ list
+ The list to be converted.
+
+
See Also
+
+
Requirements
+
+
diff --git a/doc/ref/list_to_seq.html b/doc/ref/list_to_seq.html
index 3efc7e1..2f77cf1 100644
--- a/doc/ref/list_to_seq.html
+++ b/doc/ref/list_to_seq.html
@@ -1,44 +1,40 @@
-
-
-
BOOST_PP_LIST_TO_SEQ
-
-
-
-
The BOOST_PP_LIST_TO_SEQ macro
- converts a list to a seq .
-
Usage
-
BOOST_PP_LIST_TO_SEQ (list )
-
Arguments
-
- list
- The list to be converted.
-
-
Remarks
-
This macro uses BOOST_PP_FOR . Within BOOST_PP_FOR , it
- is more efficient to use BOOST_PP_LIST_TO_SEQ_R .
-
- If the list to be converted is empty, as represented by
- 'BOOST_PP_NIL', the resulting seq is undefined since a seq
- cannot be empty.
-
See Also
-
-
Requirements
-
-
Sample Code
-
-
-
© Copyright Edward Diener 2011
-
-
+
+
BOOST_PP_LIST_TO_SEQ
+
+
+
+
The BOOST_PP_LIST_TO_SEQ macro
+converts a list to a seq .
+
Usage
+
BOOST_PP_LIST_TO_SEQ (list )
+
+
Arguments
+
list
+ The list to be converted.
+
+
Remarks
+
+ This macro uses BOOST_PP_FOR .
+ Within BOOST_PP_FOR , it is more efficient to use BOOST_PP_LIST_TO_SEQ_R .
+
+
See Also
+
+
Requirements
+
+
Sample Code
+
+
+
© Copyright Edward Diener 2011
+
+
diff --git a/doc/ref/list_to_seq_r.html b/doc/ref/list_to_seq_r.html
index cc7a854..2c2bb37 100644
--- a/doc/ref/list_to_seq_r.html
+++ b/doc/ref/list_to_seq_r.html
@@ -1,32 +1,27 @@
-
-
-
BOOST_PP_LIST_TO_SEQ_R
-
-
-
-
The BOOST_PP_LIST_TO_SEQ_R macro
- converts a list to a seq . It reenters BOOST_PP_FOR
- with maximum efficiency.
-
Usage
-
BOOST_PP_LIST_TO_SEQ_R (r , list )
-
Arguments
-
- d
- The next available BOOST_PP_FOR repetition.
- list
- The list to be converted.
-
-
Remarks
-
If the list to be converted is empty, as
- represented by 'BOOST_PP_NIL', the resulting seq is undefined
- since a seq cannot be empty.
-
See Also
-
-
Requirements
-
-
+
+
BOOST_PP_LIST_TO_SEQ_R
+
+
+
+The BOOST_PP_LIST_TO_SEQ_R macro converts a list to an seq .
+It reenters BOOST_PP_FOR with maximum efficiency.
+
+
Usage
+
BOOST_PP_LIST_TO_SEQ_R (r , list )
+
Arguments
+
+ d
+ The next available BOOST_PP_FOR repetition.
+ list
+ The list to be converted.
+
+
See Also
+
+
Requirements
+
+
diff --git a/doc/ref/list_to_tuple.html b/doc/ref/list_to_tuple.html
index d022c2b..37e7311 100644
--- a/doc/ref/list_to_tuple.html
+++ b/doc/ref/list_to_tuple.html
@@ -1,55 +1,62 @@
-
-
-
BOOST_PP_LIST_TO_TUPLE
-
-
-
-
The BOOST_PP_LIST_TO_TUPLE macro
- converts a list to a tuple .
-
Usage
-
BOOST_PP_LIST_TO_TUPLE (list )
-
Arguments
-
- list
- The list to be converted.
-
-
Remarks
-
If
list is, for example, (
a , (
b , (
c ,
BOOST_PP_NIL ))),
- this macro will produce:
-
(a , b , c )
-
-
Previously, this macro could not be used inside BOOST_PP_FOR .
- There is no longer any such restriction. It is more efficient,
- however, to use BOOST_PP_LIST_TO_TUPLE_R in such a situation.
-
- If the list to be converted is empty, as represented by 'BOOST_PP_NIL',
- the resulting tuple is undefined since a tuple cannot be
- empty.
-
See Also
-
-
Requirements
-
-
Sample Code
-
-
#include <boost/preprocessor/list/to_tuple.hpp >
+
+ BOOST_PP_LIST_TO_TUPLE
+
+
+
+
+ The BOOST_PP_LIST_TO_TUPLE macro converts a list to a tuple .
+
+ Usage
+
+ BOOST_PP_LIST_TO_TUPLE (list )
+
+ Arguments
+
+ list
+
+ The list to be converted.
+
+
+
Remarks
+
+ If
list is, for example, (
a , (
b , (
c ,
BOOST_PP_NIL ))),
+ this macro will produce:
+
+ (a , b , c )
+
+
+
+ Previously, this macro could not be used inside BOOST_PP_FOR .
+ There is no longer any such restriction.
+ It is more efficient, however, to use BOOST_PP_LIST_TO_TUPLE_R in such a situation.
+
+
See Also
+
+
Requirements
+
+
Sample Code
+
-
-
-
-
+
+
+
© Copyright Housemarque Oy 2002
+
© Copyright Paul Mensonides 2002
+
+
+
diff --git a/doc/ref/list_to_tuple_r.html b/doc/ref/list_to_tuple_r.html
index 0227d38..1ba51a0 100644
--- a/doc/ref/list_to_tuple_r.html
+++ b/doc/ref/list_to_tuple_r.html
@@ -1,42 +1,47 @@
-
-
-
BOOST_PP_LIST_TO_TUPLE_R
-
-
-
-
The BOOST_PP_LIST_TO_TUPLE_R macro
- converts a list to a tuple . It reenters BOOST_PP_FOR
- with maximum efficiency.
-
Usage
-
BOOST_PP_LIST_TO_TUPLE_R (r , list )
-
-
Arguments
-
- r
- The next available BOOST_PP_FOR repetition.
- list
- The list to be converted.
-
-
Remarks
-
If list is, for example, (a , (b , (c ,
- BOOST_PP_NIL ))), this macro will produce:
-
-
If the list to
- be converted is empty, as represented by 'BOOST_PP_NIL', the resulting tuple
- is undefined since a tuple cannot be empty.
-
See Also
-
-
Requirements
-
-
Sample Code
-
-
#include <boost/preprocessor/list/adt.hpp >
+
+ BOOST_PP_LIST_TO_TUPLE_R
+
+
+
+
+ The BOOST_PP_LIST_TO_TUPLE_R macro converts a list to a tuple .
+ It reenters BOOST_PP_FOR with maximum efficiency.
+
+ Usage
+
+ BOOST_PP_LIST_TO_TUPLE_R (r , list )
+
+ Arguments
+
+ r
+
+ The next available BOOST_PP_FOR repetition.
+
+ list
+
+ The list to be converted.
+
+
+
Remarks
+
+ If
list is, for example, (
a , (
b , (
c ,
BOOST_PP_NIL ))),
+ this macro will produce:
+
+ (a , b , c )
+
+
+
See Also
+
+
Requirements
+
+
Sample Code
+
-
-
-
-
+
+
+
© Copyright Housemarque Oy 2002
+
© Copyright Paul Mensonides 2002
+
+
+
diff --git a/doc/ref/remove_parens.html b/doc/ref/remove_parens.html
deleted file mode 100644
index 72312dd..0000000
--- a/doc/ref/remove_parens.html
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
BOOST_PP_REMOVE_PARENS
-
-
-
-
The BOOST_PP_REMOVE_PAREN S macro
- removes the beginning parenthesis, if it exists, from the input data and
- expands to the result
-
Usage
-
BOOST_PP_REMOVE_PARENS (param)
(v)
-
Arguments
-
param
-
- The input data.
-
Remarks
-
If the input begins with a parenthesis, with any data within that
- parenthesis, the macro removes the parenthesis and expands to the result.
- If the input does not begin with a parenthesis the macro expands to the
- input.
-
-
See Also
-
-
Requirements
-
-
Sample Code
-
-
-
© Copyright Edward Diener 2014
-
-
-
diff --git a/doc/ref/repeat_z.html b/doc/ref/repeat_z.html
index a2f21b8..36d0d03 100644
--- a/doc/ref/repeat_z.html
+++ b/doc/ref/repeat_z.html
@@ -1,59 +1,67 @@
-
-
-
BOOST_PP_REPEAT_z
-
-
-
-
The BOOST_PP_REPEAT_z macro
- represents a reentry into the BOOST_PP_REPEAT repetition
- construct.
-
Usage
-
BOOST_PP_REPEAT_ ## z (count , macro ,
- data )
-
Arguments
-
- z
- The next available BOOST_PP_REPEAT dimension.
- count
- The number of repetitious calls to macro . Valid values
- range from 0 to BOOST_PP_LIMIT_REPEAT .
- macro
- A ternary operation of the form macro (z , n , data ).
- This macro is expanded by BOOST_PP_REPEAT with the next
- available repetition depth, the current repetition number, and the
- auxiliary data argument.
- data
- Auxiliary data passed to macro .
-
-
Remarks
-
This macro expands to the sequence:
-
macro (z , 0 , data ) macro (z ,
- 1 , data ) ... macro (z , count - 1 ,
- data )
-
-
At certain times, it may be necessary to perform the concatenation
- with
BOOST_PP_CAT rather than the preprocessor token-pasting
- operator. This happens when the
z value is a macro
- invocation itself. It needs a delay to allow it to expand. The
- syntax in such a scenario becomes:
-
BOOST_PP_CAT (BOOST_PP_REPEAT_ , z )(count ,
- macro , data )
-
-
See Also
-
-
Requirements
-
-
Sample Code
-
-
#include <boost/preprocessor/arithmetic/inc.hpp >
+
+ BOOST_PP_REPEAT_z
+
+
+
+
+ The BOOST_PP_REPEAT_z macro represents a reentry into the BOOST_PP_REPEAT repetition construct.
+
+ Usage
+
+ BOOST_PP_REPEAT_ ## z (count , macro , data )
+
+ Arguments
+
+ z
+
+ The next available BOOST_PP_REPEAT dimension.
+
+ count
+
+ The number of repetitious calls to macro .
+ Valid values range from 0 to BOOST_PP_LIMIT_REPEAT .
+
+ macro
+
+ A ternary operation of the form macro (z , n , data ).
+ This macro is expanded by BOOST_PP_REPEAT with the next available repetition depth,
+ the current repetition number, and the auxiliary data argument.
+
+ data
+
+ Auxiliary data passed to macro .
+
+
+
Remarks
+
+ This macro expands to the sequence:
+
+ macro (z , 0 , data ) macro (z , 1 , data ) ... macro (z , count - 1 , data )
+
+
+
+ At certain times, it may be necessary to perform the concatenation with
BOOST_PP_CAT rather than the preprocessor token-pasting operator.
+ This happens when the
z value is a macro invocation itself.
+ It needs a delay to allow it to expand.
+ The syntax in such a scenario becomes:
+
+ BOOST_PP_CAT (BOOST_PP_REPEAT_ , z )(count , macro , data )
+
+
+
See Also
+
+
Requirements
+
+
Sample Code
+
-
-
© Copyright Housemarque Oy 2002
-
© Copyright Paul Mensonides 2002
- © Copyright Edward Diener 2014
-
-
-
+
+
+
© Copyright Housemarque Oy 2002
+
© Copyright Paul Mensonides 2002
+
+
+
diff --git a/doc/ref/repeat_z_macros.html b/doc/ref/repeat_z_macros.html
deleted file mode 100644
index 14b8182..0000000
--- a/doc/ref/repeat_z_macros.html
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
BOOST_PP_REPEAT_z_macros
-
-
- This is a list, based on functionality, of the macros which have an
- alternate
_z name, representing a reentry into the
BOOST_PP_REPEAT
- looping construct:
-
- array
-
- repetition
-
- base
-
-
-
-
-
© Copyright Edward Diener 2014
-
-
-
diff --git a/doc/ref/seq_replace.html b/doc/ref/seq_replace.html
index 9a64e5d..c757113 100644
--- a/doc/ref/seq_replace.html
+++ b/doc/ref/seq_replace.html
@@ -11,7 +11,7 @@
Usage
- BOOST_PP_SEQ_REPLACE (seq , i , elem )
+ BOOST_PP_SEQ_RPLACE (seq , i , elem )
Arguments
diff --git a/doc/ref/while_d.html b/doc/ref/while_d.html
index 42f9eab..8b59f10 100644
--- a/doc/ref/while_d.html
+++ b/doc/ref/while_d.html
@@ -1,66 +1,78 @@
-
-
- BOOST_PP_WHILE_d
-
-
-
- The BOOST_PP_WHILE_d macro
- represents a reentry into the BOOST_PP_WHILE looping construct.
- Usage
- BOOST_PP_WHILE_ ## d (pred , op ,
- state )
- Arguments
-
- d
- The next available BOOST_PP_WHILE iteration.
- pred
- A binary predicate of the form pred (d , state ).
- This predicate is expanded by BOOST_PP_WHILE with the next
- available iteration d and the current state . This
- predicate must expand to value in the range of 0 to BOOST_PP_LIMIT_MAG .
- The construct continues to loop until this predicate returns 0 .
- When this predicate returns 0 , BOOST_PP_WHILE returns
- the current state .
- op
- A binary operation of the form op (d , state ).
- This operation is expanded by BOOST_PP_WHILE with the next
- available iteration d and the current state . This
- macro is repeatedly applied to the state , each time producing a
- new state , until pred returns 0 .
- state
- The initial state. Often this argument is a tuple .
-
- Remarks
- This macro iterates
op (
d ,
state ) while
pred (
d ,
-
state ) is non-zero. In other words expands to:
-
op (d , ... op (d , op (d , state ))
- ... ).
-
- At certain times, it may be necessary to perform the concatenation
- with
BOOST_PP_CAT rather than the preprocessor token-pasting
- operator. This happens when the
d value is a macro
- invocation itself. It needs a delay to allow it to expand. The
- syntax in such a scenario becomes:
-
BOOST_PP_CAT (BOOST_PP_WHILE_ , d )(pred ,
- op , state ).
-
- Previously, it was possible to concatenate d directly to BOOST_PP_WHILE
- (without the trailing underscore). This is no longer supported.
- See Also
-
- Requirements
-
- Sample Code
-
-
#include <boost/preprocessor/arithmetic/add.hpp >
+
+ BOOST_PP_WHILE_d
+
+
+
+
+ The BOOST_PP_WHILE_d macro represents a reentry into the BOOST_PP_WHILE looping construct.
+
+ Usage
+
+ BOOST_PP_WHILE_ ## d (pred , op , state )
+
+ Arguments
+
+ d
+
+ The next available BOOST_PP_WHILE iteration.
+
+ pred
+
+ A binary predicate of the form pred (d , state ).
+ This predicate is expanded by BOOST_PP_WHILE with the next available
+ iteration d and the current state .
+ This predicate must expand to value in the range of 0 to BOOST_PP_LIMIT_MAG .
+ The construct continues to loop until this predicate returns 0 .
+ When this predicate returns 0 , BOOST_PP_WHILE returns the current state .
+
+ op
+
+ A binary operation of the form op (d , state ).
+ This operation is expanded by BOOST_PP_WHILE with the next available
+ iteration d and the current state .
+ This macro is repeatedly applied to the state , each time producing a new state , until pred returns 0 .
+
+ state
+
+ The initial state.
+ Often this argument is a tuple .
+
+
+
Remarks
+
+ This macro iterates
op (
d ,
state ) while
pred (
d ,
state ) is non-zero.
+ In other words expands to:
+
+ op (d , ... op (d , op (d , state )) ... ).
+
+
+
+ At certain times, it may be necessary to perform the concatenation with
BOOST_PP_CAT rather than the preprocessor token-pasting operator.
+ This happens when the
d value is a macro invocation itself.
+ It needs a delay to allow it to expand.
+ The syntax in such a scenario becomes:
+
+ BOOST_PP_CAT (BOOST_PP_WHILE_ , d )(pred , op , state ).
+
+
+
+ Previously, it was possible to concatenate d directly to BOOST_PP_WHILE (without the trailing underscore).
+ This is no longer supported.
+
+
See Also
+
+
Requirements
+
+
Sample Code
+
-
-
© Copyright Housemarque Oy 2002
-
© Copyright Paul Mensonides 2002
- © Copyright Edward Diener 2014
-
-
-
+
+
+
© Copyright Housemarque Oy 2002
+
© Copyright Paul Mensonides 2002
+
+
+
diff --git a/doc/ref/while_d_macros.html b/doc/ref/while_d_macros.html
deleted file mode 100644
index 7d8a945..0000000
--- a/doc/ref/while_d_macros.html
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
-
BOOST_PP_WHILE_d_macros
-
-
- This is a list, based on functionality, of the macros which have an
- alternate
_d name, representing a reentry into the
BOOST_PP_WHILE
- looping construct:
-
- arithmetic
-
- array
-
- comparison
-
- control
-
- list
-
-
- selection
-
- repetition
-
- tuple
-
- base
-
-
-
-
© Copyright Edward Diener 2014
-
-
-
diff --git a/include/boost/preprocessor/array/detail/get_data.hpp b/include/boost/preprocessor/array/detail/get_data.hpp
deleted file mode 100644
index fafa498..0000000
--- a/include/boost/preprocessor/array/detail/get_data.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014. *
-# * 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_ARRAY_DETAIL_GET_DATA_HPP
-# define BOOST_PREPROCESSOR_ARRAY_DETAIL_GET_DATA_HPP
-#
-# include
-# include
-#
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC && _MSC_VER > 1400
-# include
-# include
-# include
-# include
-#
-# /* BOOST_PP_ARRAY_DETAIL_GET_DATA */
-#
-# define BOOST_PP_ARRAY_DETAIL_GET_DATA_SINGLE(size, data) BOOST_PP_TUPLE_REM_CAT(size) data
-# define BOOST_PP_ARRAY_DETAIL_GET_DATA_ANY(size, data) BOOST_PP_TUPLE_REM(size) data
-# define BOOST_PP_ARRAY_DETAIL_GET_DATA_CHECK_ZERO(size, data) \
- BOOST_PP_IF \
- ( \
- size, \
- BOOST_PP_ARRAY_DETAIL_GET_DATA_ANY, \
- BOOST_PP_ARRAY_DETAIL_GET_DATA_SINGLE \
- ) \
- (size,data) \
-/**/
-# define BOOST_PP_ARRAY_DETAIL_GET_DATA(size, data) \
- BOOST_PP_IIF \
- ( \
- BOOST_PP_IS_1(size), \
- BOOST_PP_ARRAY_DETAIL_GET_DATA_SINGLE, \
- BOOST_PP_ARRAY_DETAIL_GET_DATA_CHECK_ZERO \
- ) \
- (size,data) \
-/**/
-# else
-# define BOOST_PP_ARRAY_DETAIL_GET_DATA(size, data) BOOST_PP_TUPLE_REM(size) data
-# endif /* BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC && _MSC_VER > 1400 */
-#
-# endif /* BOOST_PREPROCESSOR_ARRAY_DETAIL_GET_DATA_HPP */
diff --git a/include/boost/preprocessor/array/push_back.hpp b/include/boost/preprocessor/array/push_back.hpp
index 5dce9e0..6d98d8e 100644
--- a/include/boost/preprocessor/array/push_back.hpp
+++ b/include/boost/preprocessor/array/push_back.hpp
@@ -1,7 +1,6 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
-# * (C) Copyright Edward Diener 2014.
# * 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)
@@ -19,7 +18,6 @@
# include
# include
# include
-# include
#
# /* BOOST_PP_ARRAY_PUSH_BACK */
#
@@ -30,6 +28,6 @@
# define BOOST_PP_ARRAY_PUSH_BACK_D(array, elem) BOOST_PP_ARRAY_PUSH_BACK_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
# endif
#
-# define BOOST_PP_ARRAY_PUSH_BACK_I(size, data, elem) (BOOST_PP_INC(size), (BOOST_PP_ARRAY_DETAIL_GET_DATA(size,data) BOOST_PP_COMMA_IF(size) elem))
+# define BOOST_PP_ARRAY_PUSH_BACK_I(size, data, elem) (BOOST_PP_INC(size), (BOOST_PP_TUPLE_REM(size) data BOOST_PP_COMMA_IF(size) elem))
#
# endif
diff --git a/include/boost/preprocessor/array/push_front.hpp b/include/boost/preprocessor/array/push_front.hpp
index a6c6dc7..59344c3 100644
--- a/include/boost/preprocessor/array/push_front.hpp
+++ b/include/boost/preprocessor/array/push_front.hpp
@@ -1,7 +1,6 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2002.
-# * (C) Copyright Edward Diener 2014.
# * 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)
@@ -19,7 +18,6 @@
# include
# include
# include
-# include
#
# /* BOOST_PP_ARRAY_PUSH_FRONT */
#
@@ -30,6 +28,6 @@
# define BOOST_PP_ARRAY_PUSH_FRONT_D(array, elem) BOOST_PP_ARRAY_PUSH_FRONT_I(BOOST_PP_ARRAY_SIZE(array), BOOST_PP_ARRAY_DATA(array), elem)
# endif
#
-# define BOOST_PP_ARRAY_PUSH_FRONT_I(size, data, elem) (BOOST_PP_INC(size), (elem BOOST_PP_COMMA_IF(size) BOOST_PP_ARRAY_DETAIL_GET_DATA(size,data)))
+# define BOOST_PP_ARRAY_PUSH_FRONT_I(size, data, elem) (BOOST_PP_INC(size), (elem BOOST_PP_COMMA_IF(size) BOOST_PP_TUPLE_REM(size) data))
#
# endif
diff --git a/include/boost/preprocessor/array/to_list.hpp b/include/boost/preprocessor/array/to_list.hpp
index 4cb45b6..9198561 100644
--- a/include/boost/preprocessor/array/to_list.hpp
+++ b/include/boost/preprocessor/array/to_list.hpp
@@ -15,33 +15,19 @@
#
# include
# include
-# include
-# include
# include
#
# /* BOOST_PP_ARRAY_TO_LIST */
#
-# define BOOST_PP_ARRAY_TO_LIST(array) \
- BOOST_PP_IF \
- ( \
- BOOST_PP_ARRAY_SIZE(array), \
- BOOST_PP_ARRAY_TO_LIST_DO, \
- BOOST_PP_ARRAY_TO_LIST_EMPTY \
- ) \
- (array) \
-/**/
-#
-# define BOOST_PP_ARRAY_TO_LIST_EMPTY(array) BOOST_PP_NIL
-#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_ARRAY_TO_LIST_DO(array) BOOST_PP_ARRAY_TO_LIST_I(BOOST_PP_TUPLE_TO_LIST, array)
+# define BOOST_PP_ARRAY_TO_LIST(array) BOOST_PP_ARRAY_TO_LIST_I(BOOST_PP_TUPLE_TO_LIST, array)
# define BOOST_PP_ARRAY_TO_LIST_I(m, args) BOOST_PP_ARRAY_TO_LIST_II(m, args)
# define BOOST_PP_ARRAY_TO_LIST_II(m, args) BOOST_PP_CAT(m ## args,)
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_ARRAY_TO_LIST_DO(array) BOOST_PP_ARRAY_TO_LIST_I(array)
+# define BOOST_PP_ARRAY_TO_LIST(array) BOOST_PP_ARRAY_TO_LIST_I(array)
# define BOOST_PP_ARRAY_TO_LIST_I(array) BOOST_PP_TUPLE_TO_LIST ## array
# else
-# define BOOST_PP_ARRAY_TO_LIST_DO(array) BOOST_PP_TUPLE_TO_LIST array
+# define BOOST_PP_ARRAY_TO_LIST(array) BOOST_PP_TUPLE_TO_LIST array
# endif
#
# endif
diff --git a/include/boost/preprocessor/array/to_seq.hpp b/include/boost/preprocessor/array/to_seq.hpp
index 7303f34..ebcae53 100644
--- a/include/boost/preprocessor/array/to_seq.hpp
+++ b/include/boost/preprocessor/array/to_seq.hpp
@@ -15,32 +15,19 @@
#
# include
# include
-# include
-# include
# include
#
# /* BOOST_PP_ARRAY_TO_SEQ */
#
-# define BOOST_PP_ARRAY_TO_SEQ(array) \
- BOOST_PP_IF \
- ( \
- BOOST_PP_ARRAY_SIZE(array), \
- BOOST_PP_ARRAY_TO_SEQ_DO, \
- BOOST_PP_ARRAY_TO_SEQ_EMPTY \
- ) \
- (array) \
-/**/
-# define BOOST_PP_ARRAY_TO_SEQ_EMPTY(array)
-#
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
-# define BOOST_PP_ARRAY_TO_SEQ_DO(array) BOOST_PP_ARRAY_TO_SEQ_I(BOOST_PP_TUPLE_TO_SEQ, array)
+# define BOOST_PP_ARRAY_TO_SEQ(array) BOOST_PP_ARRAY_TO_SEQ_I(BOOST_PP_TUPLE_TO_SEQ, array)
# define BOOST_PP_ARRAY_TO_SEQ_I(m, args) BOOST_PP_ARRAY_TO_SEQ_II(m, args)
# define BOOST_PP_ARRAY_TO_SEQ_II(m, args) BOOST_PP_CAT(m ## args,)
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# define BOOST_PP_ARRAY_TO_SEQ_DO(array) BOOST_PP_ARRAY_TO_SEQ_I(array)
+# define BOOST_PP_ARRAY_TO_SEQ(array) BOOST_PP_ARRAY_TO_SEQ_I(array)
# define BOOST_PP_ARRAY_TO_SEQ_I(array) BOOST_PP_TUPLE_TO_SEQ ## array
# else
-# define BOOST_PP_ARRAY_TO_SEQ_DO(array) BOOST_PP_TUPLE_TO_SEQ array
+# define BOOST_PP_ARRAY_TO_SEQ(array) BOOST_PP_TUPLE_TO_SEQ array
# endif
#
# endif
diff --git a/include/boost/preprocessor/array/to_tuple.hpp b/include/boost/preprocessor/array/to_tuple.hpp
index 0d8defa..eb83274 100644
--- a/include/boost/preprocessor/array/to_tuple.hpp
+++ b/include/boost/preprocessor/array/to_tuple.hpp
@@ -14,20 +14,9 @@
# define BOOST_PREPROCESSOR_ARRAY_TO_TUPLE_HPP
#
# include
-# include
-# include
#
# /* BOOST_PP_ARRAY_TO_TUPLE */
#
-# define BOOST_PP_ARRAY_TO_TUPLE(array) \
- BOOST_PP_IF \
- ( \
- BOOST_PP_ARRAY_SIZE(array), \
- BOOST_PP_ARRAY_DATA, \
- BOOST_PP_ARRAY_TO_TUPLE_EMPTY \
- ) \
- (array) \
-/**/
-# define BOOST_PP_ARRAY_TO_TUPLE_EMPTY(array)
+# define BOOST_PP_ARRAY_TO_TUPLE BOOST_PP_ARRAY_DATA
#
# endif
diff --git a/include/boost/preprocessor/facilities/detail/is_empty.hpp b/include/boost/preprocessor/facilities/detail/is_empty.hpp
deleted file mode 100644
index e044970..0000000
--- a/include/boost/preprocessor/facilities/detail/is_empty.hpp
+++ /dev/null
@@ -1,55 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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_DETAIL_IS_EMPTY_HPP
-#define BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP
-
-#include
-
-#if BOOST_PP_VARIADICS_MSVC
-
-# pragma warning(once:4002)
-
-#define BOOST_PP_DETAIL_IS_EMPTY_IIF_0(t, b) b
-#define BOOST_PP_DETAIL_IS_EMPTY_IIF_1(t, b) t
-
-#else
-
-#define BOOST_PP_DETAIL_IS_EMPTY_IIF_0(t, ...) __VA_ARGS__
-#define BOOST_PP_DETAIL_IS_EMPTY_IIF_1(t, ...) t
-
-#endif
-
-#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400
-
-#define BOOST_PP_DETAIL_IS_EMPTY_PROCESS(param) \
- BOOST_PP_IS_BEGIN_PARENS \
- ( \
- BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C param () \
- ) \
-/**/
-
-#else
-
-#define BOOST_PP_DETAIL_IS_EMPTY_PROCESS(...) \
- BOOST_PP_IS_BEGIN_PARENS \
- ( \
- BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C __VA_ARGS__ () \
- ) \
-/**/
-
-#endif
-
-#define BOOST_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(a, b) a ## b
-#define BOOST_PP_DETAIL_IS_EMPTY_IIF(bit) BOOST_PP_DETAIL_IS_EMPTY_PRIMITIVE_CAT(BOOST_PP_DETAIL_IS_EMPTY_IIF_,bit)
-#define BOOST_PP_DETAIL_IS_EMPTY_NON_FUNCTION_C(...) ()
-
-#endif /* BOOST_PREPROCESSOR_DETAIL_IS_EMPTY_HPP */
diff --git a/include/boost/preprocessor/facilities/empty.hpp b/include/boost/preprocessor/facilities/empty.hpp
index 6f215dc..46db190 100644
--- a/include/boost/preprocessor/facilities/empty.hpp
+++ b/include/boost/preprocessor/facilities/empty.hpp
@@ -14,8 +14,6 @@
# ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
# define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
#
-# include
-#
# /* BOOST_PP_EMPTY */
#
# define BOOST_PP_EMPTY()
diff --git a/include/boost/preprocessor/facilities/is_empty.hpp b/include/boost/preprocessor/facilities/is_empty.hpp
index 1e0fbb2..638265c 100644
--- a/include/boost/preprocessor/facilities/is_empty.hpp
+++ b/include/boost/preprocessor/facilities/is_empty.hpp
@@ -1,7 +1,6 @@
# /* **************************************************************************
# * *
# * (C) Copyright Paul Mensonides 2003.
-# * (C) Copyright Edward Diener 2014.
# * 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)
@@ -14,21 +13,17 @@
# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP
#
# include
-#
-# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
-# include
-# include
-# else
# include
+# include
+# include
# include
-# endif
#
# /* BOOST_PP_IS_EMPTY */
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
# define BOOST_PP_IS_EMPTY(x) BOOST_PP_IS_EMPTY_I(x BOOST_PP_IS_EMPTY_HELPER)
# define BOOST_PP_IS_EMPTY_I(contents) BOOST_PP_TUPLE_ELEM(2, 1, (BOOST_PP_IS_EMPTY_DEF_ ## contents()))
-# define BOOST_PP_IS_EMPTY_DEF_BOOST_PP_IS_EMPTY_HELPER 1, BOOST_PP_IDENTITY(1)
+# define BOOST_PP_IS_EMPTY_DEF_BOOST_PP_IS_EMPTY_HELPER 1, 1 BOOST_PP_EMPTY
# define BOOST_PP_IS_EMPTY_HELPER() , 0
# else
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
@@ -45,4 +40,4 @@
# define BOOST_PP_IS_EMPTY_DEF_BOOST_PP_IS_EMPTY_HELPER 0, BOOST_PP_NIL
# endif
#
-# endif /* BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_HPP */
+# endif
diff --git a/include/boost/preprocessor/facilities/is_empty_or_1.hpp b/include/boost/preprocessor/facilities/is_empty_or_1.hpp
index 815666f..baa5da9 100644
--- a/include/boost/preprocessor/facilities/is_empty_or_1.hpp
+++ b/include/boost/preprocessor/facilities/is_empty_or_1.hpp
@@ -14,7 +14,6 @@
#
# include
# include
-# include
# include
# include
#
@@ -23,7 +22,7 @@
# define BOOST_PP_IS_EMPTY_OR_1(x) \
BOOST_PP_IIF( \
BOOST_PP_IS_EMPTY(x BOOST_PP_EMPTY()), \
- BOOST_PP_IDENTITY(1), \
+ 1 BOOST_PP_EMPTY, \
BOOST_PP_IS_1 \
)(x) \
/**/
diff --git a/include/boost/preprocessor/facilities/is_empty_variadic.hpp b/include/boost/preprocessor/facilities/is_empty_variadic.hpp
deleted file mode 100644
index eee4062..0000000
--- a/include/boost/preprocessor/facilities/is_empty_variadic.hpp
+++ /dev/null
@@ -1,57 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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_FACILITIES_IS_EMPTY_VARIADIC_HPP
-# define BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP
-#
-# include
-#
-# if BOOST_PP_VARIADICS
-#
-# include
-# include
-#
-#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400
-#
-#define BOOST_PP_IS_EMPTY(param) \
- BOOST_PP_DETAIL_IS_EMPTY_IIF \
- ( \
- BOOST_PP_IS_BEGIN_PARENS \
- ( \
- param \
- ) \
- ) \
- ( \
- BOOST_PP_IS_EMPTY_ZERO, \
- BOOST_PP_DETAIL_IS_EMPTY_PROCESS \
- ) \
- (param) \
-/**/
-#define BOOST_PP_IS_EMPTY_ZERO(param) 0
-# else
-#define BOOST_PP_IS_EMPTY(...) \
- BOOST_PP_DETAIL_IS_EMPTY_IIF \
- ( \
- BOOST_PP_IS_BEGIN_PARENS \
- ( \
- __VA_ARGS__ \
- ) \
- ) \
- ( \
- BOOST_PP_IS_EMPTY_ZERO, \
- BOOST_PP_DETAIL_IS_EMPTY_PROCESS \
- ) \
- (__VA_ARGS__) \
-/**/
-#define BOOST_PP_IS_EMPTY_ZERO(...) 0
-# endif /* BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 */
-# endif /* BOOST_PP_VARIADICS */
-# endif /* BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP */
diff --git a/include/boost/preprocessor/list/to_array.hpp b/include/boost/preprocessor/list/to_array.hpp
index bd44d68..83f8a63 100644
--- a/include/boost/preprocessor/list/to_array.hpp
+++ b/include/boost/preprocessor/list/to_array.hpp
@@ -1,7 +1,6 @@
# /* **************************************************************************
# * *
-# * (C) Copyright Paul Mensonides 2011.
-# * (C) Copyright Edward Diener 2011,2014.
+# * (C) Copyright Edward Diener 2011.
# * 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)
@@ -20,28 +19,10 @@
# include
# include
# include
-# include
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC && (_MSC_VER <= 1400)
-# include
-# endif
#
# /* BOOST_PP_LIST_TO_ARRAY */
#
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC && (_MSC_VER <= 1400)
-# define BOOST_PP_LIST_TO_ARRAY(list) \
- BOOST_PP_IIF \
- ( \
- BOOST_PP_LIST_IS_NIL(list), \
- BOOST_PP_LIST_TO_ARRAY_VC8ORLESS_EMPTY, \
- BOOST_PP_LIST_TO_ARRAY_VC8ORLESS_DO \
- ) \
- (list) \
-/**/
-# define BOOST_PP_LIST_TO_ARRAY_VC8ORLESS_EMPTY(list) (0,())
-# define BOOST_PP_LIST_TO_ARRAY_VC8ORLESS_DO(list) BOOST_PP_LIST_TO_ARRAY_I(BOOST_PP_WHILE, list)
-# else
# define BOOST_PP_LIST_TO_ARRAY(list) BOOST_PP_LIST_TO_ARRAY_I(BOOST_PP_WHILE, list)
-# endif
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
# define BOOST_PP_LIST_TO_ARRAY_I(w, list) \
@@ -133,24 +114,10 @@
# endif
# define BOOST_PP_LIST_TO_ARRAY_P(d, state) BOOST_PP_LIST_IS_CONS(BOOST_PP_TUPLE_ELEM(3, 0, state))
# define BOOST_PP_LIST_TO_ARRAY_O(d, state) BOOST_PP_LIST_TO_ARRAY_O_I state
-# define BOOST_PP_LIST_TO_ARRAY_O_I(list, size, tuple) (BOOST_PP_LIST_REST(list), BOOST_PP_INC(size), (BOOST_PP_ARRAY_DETAIL_GET_DATA(size,tuple), BOOST_PP_LIST_FIRST(list)))
+# define BOOST_PP_LIST_TO_ARRAY_O_I(list, size, tuple) (BOOST_PP_LIST_REST(list), BOOST_PP_INC(size), (BOOST_PP_TUPLE_REM(size) tuple, BOOST_PP_LIST_FIRST(list)))
#
# /* BOOST_PP_LIST_TO_ARRAY_D */
#
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC && (_MSC_VER <= 1400)
-# define BOOST_PP_LIST_TO_ARRAY_D(d, list) \
- BOOST_PP_IIF \
- ( \
- BOOST_PP_LIST_IS_NIL(list), \
- BOOST_PP_LIST_TO_ARRAY_D_VC8ORLESS_EMPTY, \
- BOOST_PP_LIST_TO_ARRAY_D_VC8ORLESS_DO \
- ) \
- (d, list) \
-/**/
-# define BOOST_PP_LIST_TO_ARRAY_D_VC8ORLESS_EMPTY(d, list) (0,())
-# define BOOST_PP_LIST_TO_ARRAY_D_VC8ORLESS_DO(d, list) BOOST_PP_LIST_TO_ARRAY_I(BOOST_PP_WHILE_ ## d, list)
-# else
# define BOOST_PP_LIST_TO_ARRAY_D(d, list) BOOST_PP_LIST_TO_ARRAY_I(BOOST_PP_WHILE_ ## d, list)
-# endif
#
# endif /* BOOST_PREPROCESSOR_LIST_TO_ARRAY_HPP */
diff --git a/include/boost/preprocessor/list/to_tuple.hpp b/include/boost/preprocessor/list/to_tuple.hpp
index c7b3da8..557de36 100644
--- a/include/boost/preprocessor/list/to_tuple.hpp
+++ b/include/boost/preprocessor/list/to_tuple.hpp
@@ -16,45 +16,22 @@
#
# include
# include
-# include
#
# /* BOOST_PP_LIST_TO_TUPLE */
#
-# define BOOST_PP_LIST_TO_TUPLE(list) \
- BOOST_PP_IIF \
- ( \
- BOOST_PP_LIST_IS_NIL(list), \
- BOOST_PP_LIST_TO_TUPLE_EMPTY, \
- BOOST_PP_LIST_TO_TUPLE_DO \
- ) \
- (list) \
-/**/
-# define BOOST_PP_LIST_TO_TUPLE_EMPTY(list)
-#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LIST_TO_TUPLE_DO(list) (BOOST_PP_LIST_ENUM(list))
+# define BOOST_PP_LIST_TO_TUPLE(list) (BOOST_PP_LIST_ENUM(list))
# else
-# define BOOST_PP_LIST_TO_TUPLE_DO(list) BOOST_PP_LIST_TO_TUPLE_I(list)
+# define BOOST_PP_LIST_TO_TUPLE(list) BOOST_PP_LIST_TO_TUPLE_I(list)
# define BOOST_PP_LIST_TO_TUPLE_I(list) (BOOST_PP_LIST_ENUM(list))
# endif
#
# /* BOOST_PP_LIST_TO_TUPLE_R */
#
-# define BOOST_PP_LIST_TO_TUPLE_R(r, list) \
- BOOST_PP_IIF \
- ( \
- BOOST_PP_LIST_IS_NIL(list), \
- BOOST_PP_LIST_TO_TUPLE_R_EMPTY, \
- BOOST_PP_LIST_TO_TUPLE_R_DO \
- ) \
- (r, list) \
-/**/
-# define BOOST_PP_LIST_TO_TUPLE_R_EMPTY(r,list)
-#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_LIST_TO_TUPLE_R_DO(r, list) (BOOST_PP_LIST_ENUM_R(r, list))
+# define BOOST_PP_LIST_TO_TUPLE_R(r, list) (BOOST_PP_LIST_ENUM_R(r, list))
# else
-# define BOOST_PP_LIST_TO_TUPLE_R_DO(r, list) BOOST_PP_LIST_TO_TUPLE_R_I(r, list)
+# define BOOST_PP_LIST_TO_TUPLE_R(r, list) BOOST_PP_LIST_TO_TUPLE_R_I(r, list)
# define BOOST_PP_LIST_TO_TUPLE_R_I(r, list) (BOOST_PP_LIST_ENUM_R(r, list))
# endif
#
diff --git a/include/boost/preprocessor/punctuation.hpp b/include/boost/preprocessor/punctuation.hpp
index 56dd064..72da73e 100644
--- a/include/boost/preprocessor/punctuation.hpp
+++ b/include/boost/preprocessor/punctuation.hpp
@@ -14,9 +14,7 @@
#
# include
# include
-# include
# include
# include
-# include
#
# endif
diff --git a/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp b/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp
deleted file mode 100644
index c94ccf3..0000000
--- a/include/boost/preprocessor/punctuation/detail/is_begin_parens.hpp
+++ /dev/null
@@ -1,48 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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_DETAIL_IS_BEGIN_PARENS_HPP
-#define BOOST_PREPROCESSOR_DETAIL_IS_BEGIN_PARENS_HPP
-
-#if BOOST_PP_VARIADICS_MSVC
-
-#include
-
-#define BOOST_PP_DETAIL_VD_IBP_CAT(a, b) BOOST_PP_DETAIL_VD_IBP_CAT_I(a, b)
-#define BOOST_PP_DETAIL_VD_IBP_CAT_I(a, b) BOOST_PP_DETAIL_VD_IBP_CAT_II(a ## b)
-#define BOOST_PP_DETAIL_VD_IBP_CAT_II(res) res
-
-#define BOOST_PP_DETAIL_IBP_SPLIT(i, ...) \
- BOOST_PP_DETAIL_VD_IBP_CAT(BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(BOOST_PP_DETAIL_IBP_SPLIT_,i)(__VA_ARGS__),BOOST_PP_EMPTY()) \
-/**/
-
-#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_C(...) 1 1
-
-#else
-
-#define BOOST_PP_DETAIL_IBP_SPLIT(i, ...) \
- BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(BOOST_PP_DETAIL_IBP_SPLIT_,i)(__VA_ARGS__) \
-/**/
-
-#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_C(...) 1
-
-#endif /* BOOST_PP_VARIADICS_MSVC */
-
-#define BOOST_PP_DETAIL_IBP_SPLIT_0(a, ...) a
-#define BOOST_PP_DETAIL_IBP_SPLIT_1(a, ...) __VA_ARGS__
-
-#define BOOST_PP_DETAIL_IBP_CAT(a, ...) BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(a,__VA_ARGS__)
-#define BOOST_PP_DETAIL_IBP_PRIMITIVE_CAT(a, ...) a ## __VA_ARGS__
-
-#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_1 1,
-#define BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_BOOST_PP_DETAIL_IBP_IS_VARIADIC_C 0,
-
-#endif /* BOOST_PREPROCESSOR_DETAIL_IS_BEGIN_PARENS_HPP */
diff --git a/include/boost/preprocessor/punctuation/is_begin_parens.hpp b/include/boost/preprocessor/punctuation/is_begin_parens.hpp
deleted file mode 100644
index 20b32bc..0000000
--- a/include/boost/preprocessor/punctuation/is_begin_parens.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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_IS_BEGIN_PARENS_HPP
-# define BOOST_PREPROCESSOR_IS_BEGIN_PARENS_HPP
-
-# include
-
-#if BOOST_PP_VARIADICS
-
-#include
-
-#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400
-
-#define BOOST_PP_IS_BEGIN_PARENS(param) \
- BOOST_PP_DETAIL_IBP_SPLIT \
- ( \
- 0, \
- BOOST_PP_DETAIL_IBP_CAT \
- ( \
- BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_, \
- BOOST_PP_DETAIL_IBP_IS_VARIADIC_C param \
- ) \
- ) \
-/**/
-
-#else
-
-#define BOOST_PP_IS_BEGIN_PARENS(...) \
- BOOST_PP_DETAIL_IBP_SPLIT \
- ( \
- 0, \
- BOOST_PP_DETAIL_IBP_CAT \
- ( \
- BOOST_PP_DETAIL_IBP_IS_VARIADIC_R_, \
- BOOST_PP_DETAIL_IBP_IS_VARIADIC_C __VA_ARGS__ \
- ) \
- ) \
-/**/
-
-#endif /* BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 */
-#endif /* BOOST_PP_VARIADICS */
-#endif /* BOOST_PREPROCESSOR_IS_BEGIN_PARENS_HPP */
diff --git a/include/boost/preprocessor/punctuation/remove_parens.hpp b/include/boost/preprocessor/punctuation/remove_parens.hpp
deleted file mode 100644
index 4700936..0000000
--- a/include/boost/preprocessor/punctuation/remove_parens.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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_REMOVE_PARENS_HPP
-#define BOOST_PREPROCESSOR_REMOVE_PARENS_HPP
-
-#include
-
-#if BOOST_PP_VARIADICS
-
-#include
-#include
-#include
-#include
-
-#define BOOST_PP_REMOVE_PARENS(param) \
- BOOST_PP_IIF \
- ( \
- BOOST_PP_IS_BEGIN_PARENS(param), \
- BOOST_PP_REMOVE_PARENS_DO, \
- BOOST_PP_IDENTITY \
- ) \
- (param)() \
-/**/
-
-#define BOOST_PP_REMOVE_PARENS_DO(param) \
- BOOST_PP_IDENTITY(BOOST_PP_TUPLE_ENUM(param)) \
-/**/
-
-#endif /* BOOST_PP_VARIADICS */
-#endif /* BOOST_PREPROCESSOR_REMOVE_PARENS_HPP */
diff --git a/include/boost/preprocessor/seq/detail/binary_transform.hpp b/include/boost/preprocessor/seq/detail/binary_transform.hpp
index 1c381a7..373e8a5 100644
--- a/include/boost/preprocessor/seq/detail/binary_transform.hpp
+++ b/include/boost/preprocessor/seq/detail/binary_transform.hpp
@@ -16,9 +16,6 @@
# include
# include
# include
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC
-# include
-# endif
#
# /* BOOST_PP_SEQ_BINARY_TRANSFORM */
#
@@ -31,15 +28,8 @@
# define BOOST_PP_SEQ_BINARY_TRANSFORM(seq) BOOST_PP_CAT(BOOST_PP_SEQ_BINARY_TRANSFORM_A seq, 0)
# endif
# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
-# define BOOST_PP_SEQ_BINARY_TRANSFORM_GET_REM(...) \
- BOOST_PP_VARIADIC_IS_SINGLE_RETURN(BOOST_PP_REM_CAT,BOOST_PP_REM,__VA_ARGS__) \
- /**/
-# else
-# define BOOST_PP_SEQ_BINARY_TRANSFORM_GET_REM(...) BOOST_PP_REM
-# endif
-# define BOOST_PP_SEQ_BINARY_TRANSFORM_A(...) (BOOST_PP_SEQ_BINARY_TRANSFORM_GET_REM(__VA_ARGS__), __VA_ARGS__)() BOOST_PP_SEQ_BINARY_TRANSFORM_B
-# define BOOST_PP_SEQ_BINARY_TRANSFORM_B(...) (BOOST_PP_SEQ_BINARY_TRANSFORM_GET_REM(__VA_ARGS__), __VA_ARGS__)() BOOST_PP_SEQ_BINARY_TRANSFORM_A
+# define BOOST_PP_SEQ_BINARY_TRANSFORM_A(...) (BOOST_PP_REM, __VA_ARGS__)() BOOST_PP_SEQ_BINARY_TRANSFORM_B
+# define BOOST_PP_SEQ_BINARY_TRANSFORM_B(...) (BOOST_PP_REM, __VA_ARGS__)() BOOST_PP_SEQ_BINARY_TRANSFORM_A
# else
# define BOOST_PP_SEQ_BINARY_TRANSFORM_A(e) (BOOST_PP_REM, e)() BOOST_PP_SEQ_BINARY_TRANSFORM_B
# define BOOST_PP_SEQ_BINARY_TRANSFORM_B(e) (BOOST_PP_REM, e)() BOOST_PP_SEQ_BINARY_TRANSFORM_A
diff --git a/include/boost/preprocessor/seq/rest_n.hpp b/include/boost/preprocessor/seq/rest_n.hpp
index 6423376..7e589cc 100644
--- a/include/boost/preprocessor/seq/rest_n.hpp
+++ b/include/boost/preprocessor/seq/rest_n.hpp
@@ -14,17 +14,17 @@
#
# include
# include
-# include
+# include
# include
# include
#
# /* BOOST_PP_SEQ_REST_N */
#
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
-# define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), BOOST_PP_IDENTITY( (nil) seq )))()
+# define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), (nil) seq BOOST_PP_EMPTY))()
# else
# define BOOST_PP_SEQ_REST_N(n, seq) BOOST_PP_SEQ_REST_N_I(n, seq)
-# define BOOST_PP_SEQ_REST_N_I(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), BOOST_PP_IDENTITY( (nil) seq )))()
+# define BOOST_PP_SEQ_REST_N_I(n, seq) BOOST_PP_TUPLE_ELEM(2, 1, BOOST_PP_SEQ_SPLIT(BOOST_PP_INC(n), (nil) seq BOOST_PP_EMPTY))()
# endif
#
# endif
diff --git a/include/boost/preprocessor/tuple/detail/is_single_return.hpp b/include/boost/preprocessor/tuple/detail/is_single_return.hpp
deleted file mode 100644
index 9ffa3cc..0000000
--- a/include/boost/preprocessor/tuple/detail/is_single_return.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014. *
-# * 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_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP
-# define BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP
-#
-# include
-# include
-# include
-# include
-#
-# /* BOOST_PP_TUPLE_IS_SINGLE_RETURN */
-#
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC
-# define BOOST_PP_TUPLE_IS_SINGLE_RETURN(sr,nsr,tuple) \
- BOOST_PP_IIF(BOOST_PP_IS_1(BOOST_PP_TUPLE_SIZE(tuple)),sr,nsr) \
- /**/
-# endif /* BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC */
-#
-# endif /* BOOST_PREPROCESSOR_TUPLE_DETAIL_IS_SINGLE_RETURN_HPP */
diff --git a/include/boost/preprocessor/tuple/elem.hpp b/include/boost/preprocessor/tuple/elem.hpp
index ee8f0bd..3eba1c5 100644
--- a/include/boost/preprocessor/tuple/elem.hpp
+++ b/include/boost/preprocessor/tuple/elem.hpp
@@ -8,7 +8,7 @@
# */
#
# /* Revised by Paul Mensonides (2002-2011) */
-# /* Revised by Edward Diener (2011,2014) */
+# /* Revised by Edward Diener (2011) */
#
# /* See http://www.boost.org for most recent version. */
#
@@ -21,27 +21,15 @@
# include
# include
#
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC
-# include
-# endif
-#
# if BOOST_PP_VARIADICS
# if BOOST_PP_VARIADICS_MSVC
# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_TUPLE_ELEM_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__), (__VA_ARGS__))
# define BOOST_PP_TUPLE_ELEM_I(m, args) BOOST_PP_TUPLE_ELEM_II(m, args)
# define BOOST_PP_TUPLE_ELEM_II(m, args) BOOST_PP_CAT(m ## args,)
-/*
- Use BOOST_PP_REM_CAT if it is a single element tuple ( which might be empty )
- else use BOOST_PP_REM. This fixes a VC++ problem with an empty tuple and BOOST_PP_TUPLE_ELEM
- functionality. See tuple_elem_bug_test.cxx.
-*/
-# define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) \
- BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_TUPLE_IS_SINGLE_RETURN(BOOST_PP_REM_CAT,BOOST_PP_REM,tuple) tuple) \
- /**/
# else
# define BOOST_PP_TUPLE_ELEM(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_ELEM_O_, __VA_ARGS__)(__VA_ARGS__)
-# define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_REM tuple)
# endif
+# define BOOST_PP_TUPLE_ELEM_O_2(n, tuple) BOOST_PP_VARIADIC_ELEM(n, BOOST_PP_REM tuple)
# define BOOST_PP_TUPLE_ELEM_O_3(size, n, tuple) BOOST_PP_TUPLE_ELEM_O_2(n, tuple)
# else
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
diff --git a/include/boost/preprocessor/tuple/rem.hpp b/include/boost/preprocessor/tuple/rem.hpp
index 78e47fe..270c31a 100644
--- a/include/boost/preprocessor/tuple/rem.hpp
+++ b/include/boost/preprocessor/tuple/rem.hpp
@@ -16,17 +16,10 @@
# include
# include
# include
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC
-# include
-# endif
#
# /* BOOST_PP_REM */
#
# if BOOST_PP_VARIADICS
-# if BOOST_PP_VARIADICS_MSVC
- /* To be used internally when __VA_ARGS__ is a single element */
-# define BOOST_PP_REM_CAT(...) BOOST_PP_CAT(__VA_ARGS__,)
-# endif
# define BOOST_PP_REM(...) __VA_ARGS__
# else
# define BOOST_PP_REM(x) x
@@ -37,11 +30,7 @@
/*
VC++8.0 cannot handle the variadic version of BOOST_PP_TUPLE_REM(size)
*/
-# if BOOST_PP_VARIADICS && !(BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400)
-# if BOOST_PP_VARIADICS_MSVC
- /* To be used internally when the size is 1 */
-# define BOOST_PP_TUPLE_REM_CAT(size) BOOST_PP_REM_CAT
-# endif
+# if BOOST_PP_VARIADICS && !(BOOST_PP_VARIADICS_MSVC && _MSC_VER == 1400)
# define BOOST_PP_TUPLE_REM(size) BOOST_PP_REM
# else
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
@@ -125,11 +114,10 @@
# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_TUPLE_REM_CTOR_I(BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__), (__VA_ARGS__))
# define BOOST_PP_TUPLE_REM_CTOR_I(m, args) BOOST_PP_TUPLE_REM_CTOR_II(m, args)
# define BOOST_PP_TUPLE_REM_CTOR_II(m, args) BOOST_PP_CAT(m ## args,)
-# define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_TUPLE_IS_SINGLE_RETURN(BOOST_PP_REM_CAT,BOOST_PP_REM,tuple) tuple
# else
# define BOOST_PP_TUPLE_REM_CTOR(...) BOOST_PP_OVERLOAD(BOOST_PP_TUPLE_REM_CTOR_O_, __VA_ARGS__)(__VA_ARGS__)
-# define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_REM tuple
# endif
+# define BOOST_PP_TUPLE_REM_CTOR_O_1(tuple) BOOST_PP_REM tuple
# define BOOST_PP_TUPLE_REM_CTOR_O_2(size, tuple) BOOST_PP_TUPLE_REM_CTOR_O_1(tuple)
# else
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
diff --git a/include/boost/preprocessor/tuple/to_seq.hpp b/include/boost/preprocessor/tuple/to_seq.hpp
index a53f5a0..8bd8485 100644
--- a/include/boost/preprocessor/tuple/to_seq.hpp
+++ b/include/boost/preprocessor/tuple/to_seq.hpp
@@ -48,9 +48,6 @@
# endif
# endif
#
-/* An empty array can be passed */
-# define BOOST_PP_TUPLE_TO_SEQ_0() ()
-#
# define BOOST_PP_TUPLE_TO_SEQ_1(e0) (e0)
# define BOOST_PP_TUPLE_TO_SEQ_2(e0, e1) (e0)(e1)
# define BOOST_PP_TUPLE_TO_SEQ_3(e0, e1, e2) (e0)(e1)(e2)
diff --git a/include/boost/preprocessor/variadic/detail/is_single_return.hpp b/include/boost/preprocessor/variadic/detail/is_single_return.hpp
deleted file mode 100644
index 491e06b..0000000
--- a/include/boost/preprocessor/variadic/detail/is_single_return.hpp
+++ /dev/null
@@ -1,28 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014. *
-# * 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_VARIADIC_DETAIL_IS_SINGLE_RETURN_HPP
-# define BOOST_PREPROCESSOR_VARIADIC_DETAIL_IS_SINGLE_RETURN_HPP
-#
-# include
-# include
-# include
-# include
-#
-# /* BOOST_PP_VARIADIC_IS_SINGLE_RETURN */
-#
-# if BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC
-# define BOOST_PP_VARIADIC_IS_SINGLE_RETURN(sr,nsr,...) \
- BOOST_PP_IIF(BOOST_PP_IS_1(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__)),sr,nsr) \
- /**/
-# endif /* BOOST_PP_VARIADICS && BOOST_PP_VARIADICS_MSVC */
-#
-# endif /* BOOST_PREPROCESSOR_VARIADIC_DETAIL_IS_SINGLE_RETURN_HPP */
diff --git a/test/Jamfile.v2 b/test/Jamfile.v2
index 5e91c86..92d1716 100644
--- a/test/Jamfile.v2
+++ b/test/Jamfile.v2
@@ -19,22 +19,21 @@ project preprocessor_tests : requirements on
test-suite preprocessor
:
- [ compile arithmetic.cpp : gcc:-std=c++0x ]
- [ compile array.cpp : gcc:-std=c++0x ]
- [ compile comparison.cpp : gcc:-std=c++0x ]
- [ compile control.cpp : gcc:-std=c++0x ]
- [ compile debug.cpp : gcc:-std=c++0x ]
- [ compile facilities.cpp : gcc:-std=c++0x ]
- [ compile iteration.cpp : gcc:-std=c++0x ]
- [ compile list.cpp : gcc:-std=c++0x ]
- [ compile logical.cpp : gcc:-std=c++0x ]
- [ compile punctuation.cpp : gcc:-std=c++0x ]
- [ compile repetition.cpp : gcc:-std=c++0x ]
- [ compile selection.cpp : gcc:-std=c++0x ]
- [ compile seq.cpp : gcc:-std=c++0x ]
- [ compile slot.cpp : gcc:-std=c++0x ]
- [ compile tuple.cpp : gcc:-std=c++0x ]
- [ compile variadic.cpp : gcc:-std=c++0x ]
+ [ compile arithmetic.cpp ]
+ [ compile array.cpp ]
+ [ compile comparison.cpp ]
+ [ compile control.cpp ]
+ [ compile debug.cpp ]
+ [ compile facilities.cpp ]
+ [ compile iteration.cpp ]
+ [ compile list.cpp ]
+ [ compile logical.cpp ]
+ [ compile repetition.cpp ]
+ [ compile selection.cpp ]
+ [ compile seq.cpp ]
+ [ compile slot.cpp ]
+ [ compile tuple.cpp ]
+ [ compile variadic.cpp ]
;
test-suite preprocessor_nvm
@@ -89,10 +88,6 @@ test-suite preprocessor_c
: gcc:-std=c99
: logical_c
]
- [ compile punctuation.c
- : gcc:-std=c99
- : punctuation_c
- ]
[ compile selection.c
: gcc:-std=c99
: selection_c
@@ -178,40 +173,3 @@ test-suite preprocessor_c_nvm
: tuple_c_nvm
]
;
-
-test-suite preprocessor_isempty
- :
- [ compile isempty.cpp : gcc:-std=c++0x ]
- [ compile-fail isempty_variadic_standard_failure.cpp : gcc:-std=c++0x ]
- [ compile-fail isempty_variadic_standard_failure2.cpp : gcc:-std=c++0x ]
- ;
-
-test-suite preprocessor_isempty_nvm
- :
- [ compile isempty.cpp : BOOST_PP_VARIADICS=0 : isempty_nvm ]
- ;
-
-test-suite preprocessor_isempty_c
- :
- [ compile isempty.c
- : gcc:-std=c99
- : isempty_c
- ]
- [ compile-fail isempty_variadic_standard_failure.c
- : gcc:-std=c99
- : isempty_variadic_standard_failure_c
- ]
- [ compile-fail isempty_variadic_standard_failure2.c
- : gcc:-std=c99
- : isempty_variadic_standard_failure2_c
- ]
- ;
-
-test-suite preprocessor_isempty_c_nvm
- :
- [ compile isempty.c
- : BOOST_PP_VARIADICS=0
- gcc:-std=c99
- : isempty_c_nvm
- ]
- ;
diff --git a/test/array.cxx b/test/array.cxx
index 745581d..ae3a275 100644
--- a/test/array.cxx
+++ b/test/array.cxx
@@ -13,19 +13,14 @@
#
# include
# include
-# include
# include
-# include
# include
-# include
# include
-# include
# if BOOST_PP_VARIADICS
# include
# include
# endif
-# define ARRAY_EMPTY (0, ())
# define ARRAY (3, (0, 1, 2))
# define ARRAY_LARGE (33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32))
# define ARRAY_VERY_LARGE (64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63))
@@ -47,7 +42,6 @@ BEGIN BOOST_PP_ARRAY_SIZE(ARRAY_LARGE) == 33 END
BEGIN BOOST_PP_ARRAY_SIZE((33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32))) == 33 END
BEGIN BOOST_PP_ARRAY_SIZE(ARRAY_VERY_LARGE) == 64 END
BEGIN BOOST_PP_ARRAY_SIZE((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63))) == 64 END
-BEGIN BOOST_PP_ARRAY_SIZE(ARRAY_EMPTY) == 0 END
// enum
@@ -63,7 +57,6 @@ BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM((5, (0, 1, 2, 3, 4)))) == 5 END
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_LARGE)) == 33 END
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_VERY_LARGE)) == 64 END
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM((64, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)))) == 64 END
-BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_ARRAY_ENUM(ARRAY_EMPTY)) == 1 END
# endif
@@ -73,7 +66,6 @@ BEGIN BOOST_PP_LIST_AT(BOOST_PP_ARRAY_TO_LIST(ARRAY), 1) == 1 END
BEGIN BOOST_PP_LIST_AT(BOOST_PP_ARRAY_TO_LIST((5, (0, 1, 2, 3, 4))), 4) == 4 END
BEGIN BOOST_PP_LIST_AT(BOOST_PP_ARRAY_TO_LIST((33, (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32))), 26) == 26 END
BEGIN BOOST_PP_LIST_AT(BOOST_PP_ARRAY_TO_LIST(ARRAY_VERY_LARGE), 60) == 60 END
-BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_ARRAY_TO_LIST(ARRAY_EMPTY)) == 0 END
// to_seq
@@ -112,9 +104,6 @@ BEGIN BOOST_PP_ARRAY_ELEM(22, BOOST_PP_ARRAY_INSERT(ARRAY_LARGE,22,1000)) == 100
BEGIN BOOST_PP_ARRAY_ELEM(26, BOOST_PP_ARRAY_INSERT(ARRAY_LARGE,22,1000)) == 25 END
BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_INSERT(ARRAY_LARGE,22,1000)) == 34 END
-BEGIN BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_INSERT(ARRAY_EMPTY,0,25)) == 25 END
-BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_INSERT(ARRAY_EMPTY,0,1000)) == 1 END
-
// pop_back
BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_POP_BACK(ARRAY)) == 2 END
@@ -135,19 +124,15 @@ BEGIN BOOST_PP_ARRAY_ELEM(55, BOOST_PP_ARRAY_POP_FRONT(ARRAY_VERY_LARGE)) == 56
BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_PUSH_BACK(ARRAY, 3)) == 4 END
BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_PUSH_BACK(ARRAY_LARGE, 33)) == 34 END
-BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_PUSH_BACK(ARRAY_EMPTY, 10)) == 1 END
BEGIN BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_PUSH_BACK(ARRAY, 3)) == 0 END
BEGIN BOOST_PP_ARRAY_ELEM(33, BOOST_PP_ARRAY_PUSH_BACK(ARRAY_LARGE, 33)) == 33 END
-BEGIN BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_PUSH_BACK(ARRAY_EMPTY, 136)) == 136 END
// push_front
BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_PUSH_FRONT(ARRAY, 555)) == 4 END
BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_PUSH_FRONT(ARRAY_LARGE, 666)) == 34 END
-BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_PUSH_FRONT(ARRAY_EMPTY, 10)) == 1 END
BEGIN BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_PUSH_FRONT(ARRAY, 555)) == 555 END
BEGIN BOOST_PP_ARRAY_ELEM(33, BOOST_PP_ARRAY_PUSH_FRONT(ARRAY_LARGE, 33)) == 32 END
-BEGIN BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_PUSH_FRONT(ARRAY_EMPTY, 136)) == 136 END
// remove
@@ -172,4 +157,3 @@ BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_REVERSE(ARRAY_VERY_LARGE)) == 64 END
BEGIN BOOST_PP_ARRAY_ELEM(0, BOOST_PP_ARRAY_REVERSE(ARRAY)) == 2 END
BEGIN BOOST_PP_ARRAY_ELEM(29, BOOST_PP_ARRAY_REVERSE(ARRAY_LARGE)) == 3 END
BEGIN BOOST_PP_ARRAY_ELEM(38, BOOST_PP_ARRAY_REVERSE(ARRAY_VERY_LARGE)) == 25 END
-BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_ARRAY_REVERSE(ARRAY_EMPTY)) == 0 END
diff --git a/test/isempty.c b/test/isempty.c
deleted file mode 100644
index bd4c2c6..0000000
--- a/test/isempty.c
+++ /dev/null
@@ -1,12 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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. */
-#
-# include
diff --git a/test/isempty.cpp b/test/isempty.cpp
deleted file mode 100644
index bd4c2c6..0000000
--- a/test/isempty.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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. */
-#
-# include
diff --git a/test/isempty.cxx b/test/isempty.cxx
deleted file mode 100644
index d0c3776..0000000
--- a/test/isempty.cxx
+++ /dev/null
@@ -1,145 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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. */
-#
-# include
-#
-#if (BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()) || (BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC())
-
-# include
-# include
-# include
-
-#define DATA
-#define OBJECT OBJECT2
-#define OBJECT2
-#define FUNC(x) FUNC2(x)
-#define FUNC2(x)
-#define FUNC_GEN() ()
-#define FUNC_GEN2(x) ()
-#define FUNC_GEN3() (&)
-#define FUNC_GEN4(x) (y)
-#define FUNC_GEN5() (y,z)
-#define FUNC_GEN6() anything
-#define FUNC_GEN7(x) anything
-#define FUNC_GEN8(x,y) (1,2,3)
-#define FUNC_GEN9(x,y,z) anything
-#define FUNC_GEN10(x) (y) data
-#define NAME &name
-#define ATUPLE (atuple)
-#define ATUPLE_PLUS (atuple) data
-
-#if BOOST_PP_VARIADICS
-
-#if defined(BOOST_PP_VARIADICS_MSVC) /* Testing the VC++ variadic version */
-
-/* INCORRECT */
-
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN2) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN3) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN4) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN5) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN8) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN10) == 1 END
-
-/* CORRECT */
-
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN9) == 0 END
-
-#else /* Testing the non-VC++ variadic version */
-
-/* CORRECT */
-
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN2) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN3) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN4) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN5) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN10) == 0 END
-
-/* COMPILER ERROR */
-
-// BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN8) == 0 END
-// BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN9) == 0 END
-
-#endif
-
-/* Testing the variadic version */
-
-/* CORRECT */
-
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_EMPTY()) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(DATA BOOST_PP_EMPTY()) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(x BOOST_PP_EMPTY()) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(OBJECT BOOST_PP_EMPTY()) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC(z) BOOST_PP_EMPTY()) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN6) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN7) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(NAME) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(ATUPLE) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(ATUPLE_PLUS) == 0 END
-
-#else
-
-#if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() /* Testing the VC++ non-variadic version */
-
-/* INCORRECT */
-
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN2) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN3) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN4) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN5) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN8) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(ATUPLE) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN10) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(ATUPLE_PLUS) == 1 END
-
-/* CORRECT */
-
-BEGIN BOOST_PP_IS_EMPTY(NAME) == 0 END
-
-#else /* Testing the non-VC++ non-variadic version */
-
-/* CORRECT */
-
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN2) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN3) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN4) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN5) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN8) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN10) == 0 END
-
-/* UNDEFINED BEHAVIOR */
-
-// BEGIN BOOST_PP_IS_EMPTY(ATUPLE) == 0 END
-// BEGIN BOOST_PP_IS_EMPTY(ATUPLE_PLUS) == 1 END
-// BEGIN BOOST_PP_IS_EMPTY(NAME) == 0 END
-
-#endif
-
-/* Testing the non-variadic version */
-
-/* CORRECT */
-
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_EMPTY()) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(DATA BOOST_PP_EMPTY()) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(x BOOST_PP_EMPTY()) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(OBJECT BOOST_PP_EMPTY()) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC(z) BOOST_PP_EMPTY()) == 1 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN6) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN7) == 0 END
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN9) == 0 END
-
-#endif
-
-#endif
diff --git a/test/isempty_variadic_standard_failure.c b/test/isempty_variadic_standard_failure.c
deleted file mode 100644
index 36f6ff7..0000000
--- a/test/isempty_variadic_standard_failure.c
+++ /dev/null
@@ -1,12 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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. */
-#
-# include
diff --git a/test/isempty_variadic_standard_failure.cpp b/test/isempty_variadic_standard_failure.cpp
deleted file mode 100644
index 36f6ff7..0000000
--- a/test/isempty_variadic_standard_failure.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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. */
-#
-# include
diff --git a/test/isempty_variadic_standard_failure.cxx b/test/isempty_variadic_standard_failure.cxx
deleted file mode 100644
index bfbbc9d..0000000
--- a/test/isempty_variadic_standard_failure.cxx
+++ /dev/null
@@ -1,25 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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. */
-#
-# include
-# include
-
-#if BOOST_PP_VARIADICS && (BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()) && !defined(BOOST_PP_VARIADICS_MSVC)
-
-#define FUNC_GEN8(x,y) (1,2,3)
-
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN8) == 0 END
-
-#else
-
-BEGIN 1 == 0 END
-
-#endif
diff --git a/test/isempty_variadic_standard_failure2.c b/test/isempty_variadic_standard_failure2.c
deleted file mode 100644
index a2aa690..0000000
--- a/test/isempty_variadic_standard_failure2.c
+++ /dev/null
@@ -1,12 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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. */
-#
-# include
diff --git a/test/isempty_variadic_standard_failure2.cpp b/test/isempty_variadic_standard_failure2.cpp
deleted file mode 100644
index a2aa690..0000000
--- a/test/isempty_variadic_standard_failure2.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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. */
-#
-# include
diff --git a/test/isempty_variadic_standard_failure2.cxx b/test/isempty_variadic_standard_failure2.cxx
deleted file mode 100644
index d730626..0000000
--- a/test/isempty_variadic_standard_failure2.cxx
+++ /dev/null
@@ -1,25 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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. */
-#
-# include
-# include
-
-#if BOOST_PP_VARIADICS && (BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_STRICT()) && !defined(BOOST_PP_VARIADICS_MSVC)
-
-#define FUNC_GEN9(x,y,z) anything
-
-BEGIN BOOST_PP_IS_EMPTY(FUNC_GEN9) == 0 END
-
-#else
-
-BEGIN 1 == 0 END
-
-#endif
diff --git a/test/list.cxx b/test/list.cxx
index 7c99d70..db6c432 100644
--- a/test/list.cxx
+++ b/test/list.cxx
@@ -16,27 +16,17 @@
# include
# include
# include
-# include
# include
# include
-# include
# include
-# include
# include
-# include
# include
# include
# define LISTNIL BOOST_PP_NIL
# define LIST (4, (1, (5, (2, BOOST_PP_NIL))))
+
# define REVERSAL(d, x, y) BOOST_PP_SUB_D(d, y, x)
-# define F1(r, state, x) + x + state
-# define FI2(r, state, i, x) BOOST_PP_IIF(BOOST_PP_EQUAL(i,1),+ x + x + state,+ x + state)
-# define F2(r, x) + BOOST_PP_TUPLE_ELEM(2, 0, x) + 2 - BOOST_PP_TUPLE_ELEM(2, 1, x)
-# define L1 (0, (x, BOOST_PP_NIL))
-# define L2 (a, (1, (b, (2, BOOST_PP_NIL))))
-# define L3 (c, (3, (d, BOOST_PP_NIL)))
-# define LL (L1, (L2, (L3, BOOST_PP_NIL)))
BEGIN BOOST_PP_LIST_FIRST(LIST) == 4 END
BEGIN BOOST_PP_LIST_IS_CONS(LIST) == 1 END
@@ -51,28 +41,22 @@ BEGIN BOOST_PP_VARIADIC_ELEM(2,BOOST_PP_LIST_ENUM(LIST)) == 5 END
#endif
BEGIN BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_SUB_D, 22, LIST) == 10 END
-BEGIN BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_SUB_D, 22, LISTNIL) == 22 END
BEGIN BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_ADD_D, 0, LIST) == 12 END
-BEGIN BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_ADD_D, 0, LISTNIL) == 0 END
BEGIN BOOST_PP_LIST_FOLD_RIGHT(REVERSAL, 0, LIST) == 4 END
BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_REVERSE(LIST)) == 2514 END
-BEGIN BOOST_PP_LIST_IS_NIL(BOOST_PP_LIST_REVERSE(LISTNIL)) == 1 END
BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_REST_N(2, LIST)) == 52 END
-BEGIN BOOST_PP_LIST_IS_NIL(BOOST_PP_LIST_REST_N(0, LISTNIL)) == 1 END
BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_FIRST_N(2, LIST)) == 41 END
BEGIN BOOST_PP_LIST_AT(LIST, 2) == 5 END
BEGIN BOOST_PP_LIST_SIZE(LIST) == 4 END
-BEGIN BOOST_PP_LIST_SIZE(LISTNIL) == 0 END
BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_TRANSFORM(BOOST_PP_ADD_D, 2, LIST)) == 6374 END
-BEGIN BOOST_PP_LIST_IS_NIL(BOOST_PP_LIST_TRANSFORM(BOOST_PP_ADD_D, 2, LISTNIL)) == 1 END
BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_APPEND(BOOST_PP_LIST_REST(LIST), LIST)) == 1524152 END
-BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_APPEND(LIST,LISTNIL)) == 4152 END
-BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_APPEND(LISTNIL,LIST)) == 4152 END
-BEGIN BOOST_PP_LIST_IS_NIL(BOOST_PP_LIST_APPEND(LISTNIL,LISTNIL)) == 1 END
+
+# define F1(r, state, x) + x + state
+# define FI2(r, state, i, x) BOOST_PP_IIF(BOOST_PP_EQUAL(i,1),+ x + x + state,+ x + state)
BEGIN BOOST_PP_LIST_FOR_EACH(F1, 1, LIST) == 16 END
BEGIN BOOST_PP_LIST_FOR_EACH_I(FI2, 1, LIST) == 17 END
@@ -80,12 +64,17 @@ BEGIN BOOST_PP_LIST_FOR_EACH_I(FI2, 1, LIST) == 17 END
BEGIN BOOST_PP_TUPLE_ELEM(4, 3, BOOST_PP_LIST_TO_TUPLE(LIST)) == 2 END
BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_FILTER(BOOST_PP_LESS_D, 3, LIST)) == 45 END
-BEGIN BOOST_PP_LIST_IS_NIL(BOOST_PP_LIST_FILTER(BOOST_PP_LESS_D, 3, LISTNIL)) == 1 END
+# define F2(r, x) + BOOST_PP_TUPLE_ELEM(2, 0, x) + 2 - BOOST_PP_TUPLE_ELEM(2, 1, x)
BEGIN BOOST_PP_LIST_FOR_EACH_PRODUCT(F2, 2, ( (1, (0, BOOST_PP_NIL)), (2, (3, BOOST_PP_NIL)) )) == 0 END
+# define L1 (0, (x, BOOST_PP_NIL))
+# define L2 (a, (1, (b, (2, BOOST_PP_NIL))))
+# define L3 (c, (3, (d, BOOST_PP_NIL)))
+
+# define LL (L1, (L2, (L3, BOOST_PP_NIL)))
+
BEGIN BOOST_PP_LIST_CAT(BOOST_PP_LIST_FOLD_LEFT(BOOST_PP_LIST_APPEND_D, BOOST_PP_NIL, LL)) == 0x0a1b2c3d END
BEGIN BOOST_PP_ARRAY_ELEM(2, BOOST_PP_LIST_TO_ARRAY(LIST)) == 5 END
-BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_LIST_TO_ARRAY(LISTNIL)) == 0 END
BEGIN BOOST_PP_SEQ_ELEM(3, BOOST_PP_LIST_TO_SEQ(LIST)) == 2 END
diff --git a/test/punctuation.c b/test/punctuation.c
deleted file mode 100644
index 8fc5dfc..0000000
--- a/test/punctuation.c
+++ /dev/null
@@ -1,14 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * 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)
-# * *
-# ************************************************************************** */
-#
-# /* Revised by Edward Diener (2011) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include
diff --git a/test/punctuation.cpp b/test/punctuation.cpp
deleted file mode 100644
index 8fc5dfc..0000000
--- a/test/punctuation.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Paul Mensonides 2002.
-# * 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)
-# * *
-# ************************************************************************** */
-#
-# /* Revised by Edward Diener (2011) */
-#
-# /* See http://www.boost.org for most recent version. */
-#
-# include
diff --git a/test/punctuation.cxx b/test/punctuation.cxx
deleted file mode 100644
index 8e60e9a..0000000
--- a/test/punctuation.cxx
+++ /dev/null
@@ -1,54 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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. */
-#
-# if BOOST_PP_VARIADICS
-# include
-# include
-
-# define A_TUPLE (*,#,zz)
-# define A_TUPLE2 (*,#,(zz,44,(e7)))
-# define A_TUPLE_PLUS (mmf,34,^^,!) 456
-# define PLUS_ATUPLE yyt (j,ii%)
-# define JDATA ggh
-# define NOT_TUPLE y6()
-# define NOT_TUPLE2 &(kkkgg,(e))
-# define A_SEQ (r)($)(#)
-# define AN_ARRAY (4,(5,7,f,x))
-# define A_LIST (e,(g,(&,BOOST_PP_NIL)))
-# define DATA (5 + 3) * 4
-# define DATA2 4 * (5 + 3)
-# define DATA3 4 * (5 + 3) * (2 + 1)
-# define DATA4 (5 + 3) * (2 + 1) * 4
-
-
-// is_begin_parens
-
-BEGIN BOOST_PP_IS_BEGIN_PARENS() == 0 END
-BEGIN BOOST_PP_IS_BEGIN_PARENS(A_TUPLE) == 1 END
-BEGIN BOOST_PP_IS_BEGIN_PARENS(A_TUPLE2) == 1 END
-BEGIN BOOST_PP_IS_BEGIN_PARENS(A_TUPLE_PLUS) == 1 END
-BEGIN BOOST_PP_IS_BEGIN_PARENS(PLUS_ATUPLE) == 0 END
-BEGIN BOOST_PP_IS_BEGIN_PARENS(JDATA) == 0 END
-BEGIN BOOST_PP_IS_BEGIN_PARENS(NOT_TUPLE) == 0 END
-BEGIN BOOST_PP_IS_BEGIN_PARENS(NOT_TUPLE2) == 0 END
-BEGIN BOOST_PP_IS_BEGIN_PARENS(A_SEQ) == 1 END
-BEGIN BOOST_PP_IS_BEGIN_PARENS(AN_ARRAY) == 1 END
-BEGIN BOOST_PP_IS_BEGIN_PARENS(A_LIST) == 1 END
-BEGIN BOOST_PP_IS_BEGIN_PARENS((y)2(x)) == 1 END
-
-// remove_parens
-
-BEGIN BOOST_PP_REMOVE_PARENS(DATA) == 17 END
-BEGIN BOOST_PP_REMOVE_PARENS(DATA2)== 32 END
-BEGIN BOOST_PP_REMOVE_PARENS(DATA3)== 96 END
-BEGIN BOOST_PP_REMOVE_PARENS(DATA4)== 41 END
-
-#endif
diff --git a/test/seq.cxx b/test/seq.cxx
index ae37291..c64085d 100644
--- a/test/seq.cxx
+++ b/test/seq.cxx
@@ -16,18 +16,13 @@
# include
# include
# include
-# include
# include
# include
-# include
# include
-# include
# include
-# include
# include
# include
-# define SEQ_NONE ()
# define SEQ (4)(1)(5)(2)
# define SEQVAR (4,5,8,3,61)(1,0)(5,22,43)(2)(17,45,33)
@@ -58,19 +53,8 @@ BEGIN BOOST_PP_SEQ_FOR_EACH(F1, 1, SEQ) == 16 END
BEGIN BOOST_PP_SEQ_FOR_EACH_I(FI2, 1, SEQ) == 21 END
BEGIN BOOST_PP_TUPLE_ELEM(4, 3, BOOST_PP_SEQ_TO_TUPLE(SEQ)) == 2 END
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_TUPLE_ELEM(1, 0, BOOST_PP_SEQ_TO_TUPLE(SEQ_NONE))) == 1 END
-
-#if BOOST_PP_VARIADICS
-
-BEGIN BOOST_PP_TUPLE_SIZE(BOOST_PP_SEQ_TO_TUPLE(SEQ_NONE)) == 1 END
-
-#endif
-
BEGIN BOOST_PP_ARRAY_ELEM(3, BOOST_PP_SEQ_TO_ARRAY(SEQ)) == 2 END
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_ARRAY_ELEM(0, BOOST_PP_SEQ_TO_ARRAY(SEQ_NONE))) == 1 END
-BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_SEQ_TO_ARRAY(SEQ_NONE)) == 1 END
-
# define LESS_S(s, x, y) BOOST_PP_LESS(x, y)
BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_FILTER(LESS_S, 3, SEQ)) == 45 END
@@ -114,8 +98,6 @@ BEGIN BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_TAIL(BOOST_PP_SEQ_FOLD_LEFT(SEQ_APPEND, (~),
BEGIN BOOST_PP_SEQ_SIZE(BOOST_PP_SEQ_TAIL(BOOST_PP_SEQ_FOLD_LEFT(SEQ_APPEND, (~), LL))) == 9 END
BEGIN BOOST_PP_LIST_AT(BOOST_PP_SEQ_TO_LIST(SEQ), 2) == 5 END
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_LIST_AT(BOOST_PP_SEQ_TO_LIST(SEQ_NONE),0)) == 1 END
-BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_SEQ_TO_LIST(SEQ_NONE)) == 1 END
#if BOOST_PP_VARIADICS
diff --git a/test/tuple.cxx b/test/tuple.cxx
index 68d7209..d5d941a 100644
--- a/test/tuple.cxx
+++ b/test/tuple.cxx
@@ -7,29 +7,21 @@
# * *
# ************************************************************************** */
#
-# /* Revised by Edward Diener (2011,2014) */
+# /* Revised by Edward Diener (2011) */
#
# /* See http://www.boost.org for most recent version. */
#
-# include
-# include
# include
# include
-# include
# include
-# include
# include
-# include
-# include
# if BOOST_PP_VARIADICS
# include
# include
# endif
# include
-# include
# define TUPLE (0, 1, 2, 3, 4, 5)
-# define TUPLE_NONE ()
# define TUPLE_LARGE (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
# define TUPLE_VERY_LARGE (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
# define T2 (+3, /2, +6)
@@ -52,7 +44,6 @@
// elem
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_TUPLE_ELEM(1, 0, TUPLE_NONE)) == 1 END
BEGIN BOOST_PP_TUPLE_ELEM(6, 3, TUPLE) == 3 END
BEGIN BOOST_PP_TUPLE_ELEM(6, 5, TUPLE) == 5 END
BEGIN BOOST_PP_TUPLE_ELEM(33, 15, TUPLE_LARGE) == 15 END
@@ -81,30 +72,23 @@ BEGIN TEST_EAT_VERY_LARGE == 8 END
BEGIN BOOST_PP_ARRAY_ELEM(3,BOOST_PP_TUPLE_TO_ARRAY(6,TUPLE)) == 3 END
BEGIN BOOST_PP_ARRAY_ELEM(29,BOOST_PP_TUPLE_TO_ARRAY(33,TUPLE_LARGE)) == 29 END
BEGIN BOOST_PP_ARRAY_ELEM(61,BOOST_PP_TUPLE_TO_ARRAY(64,TUPLE_VERY_LARGE)) == 61 END
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_ARRAY_ELEM(0,BOOST_PP_TUPLE_TO_ARRAY(1,TUPLE_NONE))) == 1 END
-BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_TUPLE_TO_ARRAY(1,TUPLE_NONE)) == 1 END
// to_list
BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(6,TUPLE), 2) == 2 END
BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(33,TUPLE_LARGE), 19) == 19 END
BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(64,TUPLE_VERY_LARGE), 62) == 62 END
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(1,TUPLE_NONE), 0)) == 1 END
-BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_TUPLE_TO_LIST(1,TUPLE_NONE)) == 1 END
// to_seq
BEGIN BOOST_PP_SEQ_ELEM(4,BOOST_PP_TUPLE_TO_SEQ(6,TUPLE)) == 4 END
BEGIN BOOST_PP_SEQ_ELEM(31,BOOST_PP_TUPLE_TO_SEQ(33,TUPLE_LARGE)) == 31 END
BEGIN BOOST_PP_SEQ_ELEM(55,BOOST_PP_TUPLE_TO_SEQ(64,TUPLE_VERY_LARGE)) == 55 END
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_SEQ_ELEM(0,BOOST_PP_TUPLE_TO_SEQ(1,TUPLE_NONE))) == 1 END
-BEGIN BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_TO_SEQ(1,TUPLE_NONE)) == 1 END
#if BOOST_PP_VARIADICS
// elem
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_TUPLE_ELEM(0, TUPLE_NONE)) == 1 END
BEGIN BOOST_PP_TUPLE_ELEM(3, TUPLE) == 3 END
BEGIN BOOST_PP_TUPLE_ELEM(5, TUPLE) == 5 END
BEGIN BOOST_PP_TUPLE_ELEM(15, TUPLE_LARGE) == 15 END
@@ -174,7 +158,7 @@ BEGIN BOOST_PP_TUPLE_ELEM(33, BOOST_PP_TUPLE_PUSH_FRONT(TUPLE_LARGE, 33)) == 32
// rem
-#if BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400
+#if BOOST_PP_VARIADICS_MSVC && _MSC_VER == 1400
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM(6)(0, 1, 2, 3, 4, 5)) == 6 END
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM(33)(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)) == 33 END
@@ -182,12 +166,6 @@ BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM(64)(0, 1, 2, 3, 4, 5, 6, 7, 8, 9
#else
-#if BOOST_PP_VARIADICS_MSVC
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_TUPLE_REM_CAT() TUPLE_NONE) == 1 END
-#else
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_TUPLE_REM() TUPLE_NONE) == 1 END
-#endif
-
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM()(0, 1, 2, 3, 4, 5)) == 6 END
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM()(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)) == 33 END
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM()(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)) == 64 END
@@ -196,7 +174,6 @@ BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM()(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
// rem_ctor
-BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_NONE)) == 1 END
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE)) == 6 END
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_LARGE)) == 33 END
BEGIN BOOST_PP_VARIADIC_SIZE(BOOST_PP_TUPLE_REM_CTOR(TUPLE_VERY_LARGE)) == 64 END
@@ -229,23 +206,17 @@ BEGIN BOOST_PP_TUPLE_SIZE(TUPLE_VERY_LARGE) == 64 END
BEGIN BOOST_PP_ARRAY_ELEM(3,BOOST_PP_TUPLE_TO_ARRAY(TUPLE)) == 3 END
BEGIN BOOST_PP_ARRAY_ELEM(29,BOOST_PP_TUPLE_TO_ARRAY(TUPLE_LARGE)) == 29 END
BEGIN BOOST_PP_ARRAY_ELEM(61,BOOST_PP_TUPLE_TO_ARRAY(TUPLE_VERY_LARGE)) == 61 END
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_ARRAY_ELEM(0,BOOST_PP_TUPLE_TO_ARRAY(TUPLE_NONE))) == 1 END
-BEGIN BOOST_PP_ARRAY_SIZE(BOOST_PP_TUPLE_TO_ARRAY(TUPLE_NONE)) == 1 END
// to_tuple
BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE), 2) == 2 END
BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE_LARGE), 19) == 19 END
BEGIN BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE_VERY_LARGE), 62) == 62 END
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_LIST_AT(BOOST_PP_TUPLE_TO_LIST(TUPLE_NONE), 0)) == 1 END
-BEGIN BOOST_PP_LIST_SIZE(BOOST_PP_TUPLE_TO_LIST(TUPLE_NONE)) == 1 END
// to_seq
BEGIN BOOST_PP_SEQ_ELEM(4,BOOST_PP_TUPLE_TO_SEQ(TUPLE)) == 4 END
BEGIN BOOST_PP_SEQ_ELEM(31,BOOST_PP_TUPLE_TO_SEQ(TUPLE_LARGE)) == 31 END
BEGIN BOOST_PP_SEQ_ELEM(55,BOOST_PP_TUPLE_TO_SEQ(TUPLE_VERY_LARGE)) == 55 END
-BEGIN BOOST_PP_IS_EMPTY(BOOST_PP_SEQ_ELEM(0,BOOST_PP_TUPLE_TO_SEQ(TUPLE_NONE))) == 1 END
-BEGIN BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_TO_SEQ(TUPLE_NONE)) == 1 END
#endif
diff --git a/test/tuple_elem_bug_test.cxx b/test/tuple_elem_bug_test.cxx
deleted file mode 100644
index 56e36a6..0000000
--- a/test/tuple_elem_bug_test.cxx
+++ /dev/null
@@ -1,38 +0,0 @@
-# /* **************************************************************************
-# * *
-# * (C) Copyright Edward Diener 2014.
-# * 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. */
-#
-# include
-# include
-# include
-# include
-
-#define TN_GEN_ONE(p) (1)
-#define TN_GEN_ZERO(p) (0)
-#define TN_TEST_ONE_MORE(parameter,ens) \
- BOOST_PP_IF \
- ( \
- BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(1,0,ens),0), \
- TN_GEN_ONE, \
- TN_GEN_ZERO \
- ) \
- (parameter) \
-/**/
-#define TN_TEST_ONE(parameter,ens) \
- BOOST_PP_TUPLE_ELEM \
- ( \
- 1, \
- 0, \
- TN_TEST_ONE_MORE(parameter,ens) \
- ) \
-/**/
-
-BEGIN TN_TEST_ONE(A,(1)) == 1 END
-BEGIN TN_TEST_ONE(A,()) == 0 END