[prev in list] [next in list] [prev in thread] [next in thread]
List: boost-commit
Subject: [Boost-commit] svn:boost r73468 - in sandbox/variadic_macro_data:
From: eldiener () tropicsoft ! com
Date: 2011-07-31 22:34:27
Message-ID: 20110731223427.80EF82F81B7 () wowbagger ! osl ! iu ! edu
[Download RAW message or body]
Author: eldiener
Date: 2011-07-31 18:34:26 EDT (Sun, 31 Jul 2011)
New Revision: 73468
URL: http://svn.boost.org/trac/boost/changeset/73468
Log:
Updated tests and comments.
Added:
sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_remove_parens.cpp \
(contents, props changed) \
sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_tuple_begin.cpp \
(contents, props changed) Text files modified:
sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_common.hpp | 18 \
+++++++++++++++--- \
sandbox/variadic_macro_data/libs/variadic_macro_data/doc/index.idx | 3 ++- \
sandbox/variadic_macro_data/libs/variadic_macro_data/doc/jamfile.v2 | 3 ++- \
sandbox/variadic_macro_data/libs/variadic_macro_data/test/Jamfile.v2 | 19 \
++++++++++++++----- 4 files changed, 33 insertions(+), 10 \
deletions(-)
Modified: sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_common.hpp
==============================================================================
--- sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_common.hpp (original)
+++ sandbox/variadic_macro_data/boost/variadic_macro_data/vmd_common.hpp 2011-07-31 \
18:34:26 EDT (Sun, 31 Jul 2011) @@ -18,14 +18,26 @@
/** \file
*/
-# define BOOST_VMD_REMOVE_PARENS(x) \
+/// Removes the set of parens from the start of a parameter if it has any.
+/**
+
+ param = a macro parameter.
+
+ returns = the parameter with the beginning set of parens removed.
+ If the parameter has no beginning set of parameters, the
+ parameter is returned as is. If there are further sets of
+ parens after the beginning set of parameters, they are not
+ removed.
+
+*/
+# define BOOST_VMD_REMOVE_PARENS(param) \
BOOST_PP_IIF \
( \
- BOOST_VMD_IS_TUPLE_BEGIN(x), \
+ BOOST_VMD_IS_TUPLE_BEGIN(param), \
VMD_DETAIL_REMOVE_PARENS, \
BOOST_PP_IDENTITY \
) \
- (x)() \
+ (param)() \
/**/
#endif // BOOST_VMD_VARIADICS
Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/doc/index.idx
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/doc/index.idx (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/doc/index.idx 2011-07-31 \
18:34:26 EDT (Sun, 31 Jul 2011) @@ -1 +1,2 @@
-!scan boost/variadic_macro_data/vmd.hpp
+!scan boost/variadic_macro_data/vmd_native.hpp
+!scan boost/variadic_macro_data/vmd_common.hpp
Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/doc/jamfile.v2
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/doc/jamfile.v2 (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/doc/jamfile.v2 2011-07-31 \
18:34:26 EDT (Sun, 31 Jul 2011) @@ -35,7 +35,8 @@
doxygen vmd_reference
:
- $(here)/../../../boost/variadic_macro_data/vmd.hpp
+ $(here)/../../../boost/variadic_macro_data/vmd_native.hpp
+ $(here)/../../../boost/variadic_macro_data/vmd_common.hpp
:
<doxygen:param>PROJECT_NAME="VMD"
<doxygen:param>PROJECT_NUMBER=1
Modified: sandbox/variadic_macro_data/libs/variadic_macro_data/test/Jamfile.v2
==============================================================================
--- sandbox/variadic_macro_data/libs/variadic_macro_data/test/Jamfile.v2 (original)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/Jamfile.v2 2011-07-31 \
18:34:26 EDT (Sun, 31 Jul 2011) @@ -10,16 +10,16 @@
<toolset>msvc:<warnings>all
<toolset>gcc:<warnings>all
\
<toolset>gcc-4.3.0:<cxxflags>-Wno-variadic-macros
- \
<toolset>gcc-4.3.0:<cxxflags>-std=c++0x
\
<toolset>gcc-4.4.0:<cxxflags>-Wno-variadic-macros
- \
<toolset>gcc-4.4.0:<cxxflags>-std=c++0x
\
<toolset>gcc-4.5.0:<cxxflags>-Wno-variadic-macros
- \
<toolset>gcc-4.5.0:<cxxflags>-std=c++0x
- \
<toolset>gcc-4.5.0:<linkflags>"-Wl,--enable-auto-import"
\
<toolset>gcc-4.5.2:<cxxflags>-Wno-variadic-macros
- \
<toolset>gcc-4.5.2:<cxxflags>-std=c++0x
\
<toolset>gcc-4.6.0:<cxxflags>-Wno-variadic-macros + \
<toolset>gcc-4.3.0:<cxxflags>-std=c++0x + \
<toolset>gcc-4.4.0:<cxxflags>-std=c++0x + \
<toolset>gcc-4.5.0:<cxxflags>-std=c++0x + \
<toolset>gcc-4.5.2:<cxxflags>-std=c++0x
\
<toolset>gcc-4.6.0:<cxxflags>-std=c++0x + \
<toolset>gcc-4.5.0:<linkflags>"-Wl,--enable-auto-import" ;
test-suite variadic_macro_data
@@ -29,6 +29,8 @@
[ run test_data_as_array.cpp ]
[ run test_data_as_list.cpp ]
[ run test_data_as_sequence.cpp ]
+ [ run test_tuple_begin.cpp ]
+ [ run test_remove_parens.cpp ]
;
test-suite variadic_macro_data_pplib
@@ -48,4 +50,11 @@
[ run test_data_as_sequence.cpp : : :
<define>BOOST_VMD_PPLIB=1 :
test_data_as_sequence_pplib ]
+ [ run test_tuple_begin.cpp : : :
+ <define>BOOST_VMD_PPLIB=1 :
+ test_tuple_begin_pplib ]
+ [ run test_remove_parens.cpp : : :
+ <define>BOOST_VMD_PPLIB=1 :
+ test_remove_parens_pplib ]
+
;
Added: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_remove_parens.cpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_remove_parens.cpp 2011-07-31 \
18:34:26 EDT (Sun, 31 Jul 2011) @@ -0,0 +1,23 @@
+#include <boost/variadic_macro_data/vmd.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+int main()
+ {
+
+#if BOOST_VMD_VARIADICS
+
+ #define DATA (5 + 3) * 4
+ #define DATA2 4 * (5 + 3)
+ #define DATA3 4 * (5 + 3) * (2 + 1)
+ #define DATA4 (5 + 3) * (2 + 1) * 4
+
+ BOOST_TEST_EQ(BOOST_VMD_REMOVE_PARENS(DATA),17);
+ BOOST_TEST_EQ(BOOST_VMD_REMOVE_PARENS(DATA2),32);
+ BOOST_TEST_EQ(BOOST_VMD_REMOVE_PARENS(DATA3),96);
+ BOOST_TEST_EQ(BOOST_VMD_REMOVE_PARENS(DATA4),41);
+
+#endif
+
+ return boost::report_errors();
+
+ }
Added: sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_tuple_begin.cpp
==============================================================================
--- (empty file)
+++ sandbox/variadic_macro_data/libs/variadic_macro_data/test/test_tuple_begin.cpp 2011-07-31 \
18:34:26 EDT (Sun, 31 Jul 2011) @@ -0,0 +1,35 @@
+#include <boost/variadic_macro_data/vmd.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+int main()
+ {
+
+#if BOOST_VMD_VARIADICS
+
+ #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)))
+
+ BOOST_TEST(BOOST_VMD_IS_TUPLE_BEGIN(A_TUPLE));
+ BOOST_TEST(BOOST_VMD_IS_TUPLE_BEGIN(A_TUPLE2));
+ BOOST_TEST(BOOST_VMD_IS_TUPLE_BEGIN(A_TUPLE_PLUS));
+ BOOST_TEST(!BOOST_VMD_IS_TUPLE_BEGIN(PLUS_ATUPLE));
+ BOOST_TEST(!BOOST_VMD_IS_TUPLE_BEGIN(JDATA));
+ BOOST_TEST(!BOOST_VMD_IS_TUPLE_BEGIN(NOT_TUPLE));
+ BOOST_TEST(!BOOST_VMD_IS_TUPLE_BEGIN(NOT_TUPLE2));
+ BOOST_TEST(BOOST_VMD_IS_TUPLE_BEGIN(A_SEQ));
+ BOOST_TEST(BOOST_VMD_IS_TUPLE_BEGIN(AN_ARRAY));
+ BOOST_TEST(BOOST_VMD_IS_TUPLE_BEGIN(A_LIST));
+
+#endif
+
+ return boost::report_errors();
+
+ }
_______________________________________________
Boost-commit mailing list
Boost-commit@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-commit
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic