Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r71574 - sandbox/local/boost/local/aux_/preprocessor/keyword
From: lorcaminiti_at_[hidden]
Date: 2011-04-28 17:23:19


Author: lcaminiti
Date: 2011-04-28 17:23:18 EDT (Thu, 28 Apr 2011)
New Revision: 71574
URL: http://svn.boost.org/trac/boost/changeset/71574

Log:
Added "recursive" pp-keyword for `NAME(recursive name)`.
Added:
   sandbox/local/boost/local/aux_/preprocessor/keyword/recursive.hpp (contents, props changed)

Added: sandbox/local/boost/local/aux_/preprocessor/keyword/recursive.hpp
==============================================================================
--- (empty file)
+++ sandbox/local/boost/local/aux_/preprocessor/keyword/recursive.hpp 2011-04-28 17:23:18 EDT (Thu, 28 Apr 2011)
@@ -0,0 +1,53 @@
+
+// Copyright (C) 2009-2011 Lorenzo Caminiti
+// Use, modification, and distribution is subject to the Boost Software
+// License, Version 1.0 (see accompanying file LICENSE_1_0.txt or a
+// copy at http://www.boost.org/LICENSE_1_0.txt).
+
+#ifndef BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_HPP_
+#define BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_HPP_
+
+#include <boost/detail/preprocessor/keyword/facility/is.hpp>
+#include <boost/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/detail/preprocessor/keyword/facility/remove.hpp>
+
+// These are not local macros -- DO NOT #UNDEF.
+#define BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_IS_recursive (1) /* unary */
+#define recursive_BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_IS (1) /* unary */
+#define BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_REMOVE_recursive /* nothing */
+#define recursive_BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_REMOVE /* nothing */
+
+// Is.
+
+#define BOOST_LOCAL_AUX_PP_KEYWORD_IS_RECURSIVE_FRONT(tokens) \
+ BOOST_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_IS_)
+
+#define BOOST_LOCAL_AUX_PP_KEYWORD_IS_RECURSIVE_BACK(tokens) \
+ BOOST_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(tokens, \
+ _BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_IS)
+
+// Rremove.
+
+#define BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_REMOVE_FRONT(tokens) \
+ BOOST_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_LOCAL_AUX_PP_KEYWORD_IS_RECURSIVE_FRONT, \
+ BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_REMOVE_)
+
+#define BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_REMOVE_BACK(tokens) \
+ BOOST_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_LOCAL_AUX_PP_KEYWORD_IS_RECURSIVE_BACK, \
+ _BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_REMOVE)
+
+// Add.
+
+#define BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_ADD_FRONT(tokens) \
+ BOOST_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_AUX_PP_KEYWORD_IS_RECURSIVE_FRONT, recursive)
+
+#define BOOST_LOCAL_AUX_PP_KEYWORD_RECURSIVE_ADD_BACK(tokens) \
+ BOOST_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_AUX_PP_KEYWORD_IS_RECURSIVE_BACK, recursive)
+
+#endif // #include guard
+


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk