|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r69354 - in sandbox/local/boost: detail/preprocessor local local/aux_/function_macros local/aux_/function_macros/code_ local/aux_/preprocessor/sign local/aux_/preprocessor/sign/parsed_params_
From: lorcaminiti_at_[hidden]
Date: 2011-02-27 17:38:56
Author: lcaminiti
Date: 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
New Revision: 69354
URL: http://svn.boost.org/trac/boost/changeset/69354
Log:
Using pp-list instead of my pp-nil-seq.
Removed:
sandbox/local/boost/detail/preprocessor/nilseq.hpp
Text files modified:
sandbox/local/boost/local/aux_/function_macros/code_/binding.hpp | 32 ++++++++----------
sandbox/local/boost/local/aux_/function_macros/code_/deduce_result_type.hpp | 24 +++++++-------
sandbox/local/boost/local/aux_/function_macros/code_/functor.hpp | 67 +++++++++++++++++++--------------------
sandbox/local/boost/local/aux_/function_macros/params.hpp | 27 ++++++++-------
sandbox/local/boost/local/aux_/preprocessor/sign/params_any_bind.hpp | 35 +++++--------------
sandbox/local/boost/local/aux_/preprocessor/sign/params_bind.hpp | 4 +-
sandbox/local/boost/local/aux_/preprocessor/sign/params_const_bind.hpp | 6 +--
sandbox/local/boost/local/aux_/preprocessor/sign/params_unbind.hpp | 15 ++++----
sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_bind.hpp | 5 +-
sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_const_bind.hpp | 5 +-
sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_unbind.hpp | 8 ++-
sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_unbind_default.hpp | 36 +++++++++++++--------
sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/nil.hpp | 13 +++----
sandbox/local/boost/local/function.hpp | 10 +++--
14 files changed, 140 insertions(+), 147 deletions(-)
Deleted: sandbox/local/boost/detail/preprocessor/nilseq.hpp
==============================================================================
--- sandbox/local/boost/detail/preprocessor/nilseq.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
+++ (empty file)
@@ -1,68 +0,0 @@
-
-// 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_DETAIL_PP_NILSEQ_HPP_
-#define BOOST_DETAIL_PP_NILSEQ_HPP_
-
-#include <boost/preprocessor/seq.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/comparison/equal.hpp>
-#include <boost/preprocessor/logical/not.hpp>
-#include <boost/preprocessor/control/iif.hpp>
-#include <boost/preprocessor/tuple/eat.hpp>
-
-// Utilities to handle sequences starting with `(NIL)` (to support empty seq):
-// nilseq := (BOOST_PP_NIL) [(elem0) (elem1) ...]
-
-// NOTE: `BOOST_PP_LIST` serves a similar purpose but it could not be used in
-// order to reuse signature parsing code. For example, parsed parameters are
-// represented as NILSEQ so parsers code used to parse sign sequence (wich
-// operate on SEQ) can be reused. Similarly, for initializers, concepts, etc.
-
-#define BOOST_DETAIL_PP_NILSEQ_SIZE(nilseq) \
- BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(nilseq)) /* DEC for leading `(NIL)` */
-
-#define BOOST_DETAIL_PP_NILSEQ_IS_NIL(nilseq) \
- BOOST_PP_EQUAL(BOOST_DETAIL_PP_NILSEQ_SIZE(nilseq), 0)
-
-#define BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(nilseq) \
- BOOST_PP_NOT(BOOST_DETAIL_PP_NILSEQ_IS_NIL(nilseq))
-
-// Assume nilseq is not NIL and removes leading `(NIL)`.
-#define BOOST_DETAIL_PP_NILSEQ_TO_SEQ(nilseq) \
- BOOST_PP_SEQ_TAIL(nilseq)
-
-#define BOOST_DETAIL_PP_NILSEQ_ELEM(n, nilseq) \
- BOOST_PP_SEQ_ELEM(BOOST_PP_INC(n), nilseq) /* INC for leading `(NIL)` */
-
-// ENUM //
-
-#define BOOST_DETAIL_PP_NILSEQ_ENUM_(nilseq) \
- BOOST_PP_SEQ_ENUM(BOOST_DETAIL_PP_NILSEQ_TO_SEQ(nileseq))
-
-#define BOOST_DETAIL_PP_NILSEQ_ENUM(nilseq) \
- BOOST_PP_IIF(BOOST_DETAIL_PP_NILSEQ_IS_NIL(nilseq), \
- BOOST_PP_TUPLE_EAT(1) \
- , \
- BOOST_DETAIL_PP_NILSEQ_ENUM_ \
- )(nilseq)
-
-// FOR_EACH_I //
-
-#define BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I_(op, data, nilseq) \
- /* got here iif nilseq size not nil, TAIL removes leading `(NIL)` */ \
- BOOST_PP_SEQ_FOR_EACH_I(op, data, BOOST_DETAIL_PP_NILSEQ_TO_SEQ(nilseq))
-
-#define BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I(op, data, nilseq) \
- BOOST_PP_IIF(BOOST_DETAIL_PP_NILSEQ_IS_NIL(nilseq), \
- BOOST_PP_TUPLE_EAT(3) \
- , \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I_ \
- )(op, data, nilseq)
-
-#endif // #include guard
-
Modified: sandbox/local/boost/local/aux_/function_macros/code_/binding.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/function_macros/code_/binding.hpp (original)
+++ sandbox/local/boost/local/aux_/function_macros/code_/binding.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -12,45 +12,43 @@
#include "../../symbol.hpp"
#include "../../scope_exit/scope_exit.hpp" // Use this lib's ScopeExit impl.
#include "../../preprocessor/sign/params_any_bind.hpp"
-#include <boost/detail/preprocessor/nilseq.hpp>
#include <boost/preprocessor/control/iif.hpp>
#include <boost/preprocessor/control/expr_iif.hpp>
-#include <boost/preprocessor/seq/for_each_i.hpp>
+#include <boost/preprocessor/list/adt.hpp> // For `IS_CONS`.
+#include <boost/preprocessor/list/for_each_i.hpp>
#include <boost/preprocessor/cat.hpp>
// PRIVATE //
// Adapted from `BOOST_SCOPE_EXIT_AUX_IMPL()`.
#define BOOST_LOCAL_AUX_FUNCTION_CODE_BINDING_WITH_TAGS_SEQ_( \
- all_bind_nilseq, has_any_bind_this, id, typename_keyword) \
+ all_binds, has_any_bind_this, id, typename_keyword) \
/* binding tags */ \
BOOST_PP_EXPR_IIF(has_any_bind_this, \
BOOST_SCOPE_EXIT_TYPEDEF_TYPEOF_THIS() \
BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_THIS_TYPE(id); \
) \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
- BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_TAG_DECL, \
- id, all_bind_nilseq) \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
- BOOST_SCOPE_EXIT_AUX_CAPTURE_DECL, \
- (id, typename_keyword), all_bind_nilseq) \
+ BOOST_PP_LIST_FOR_EACH_I(BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_TAG_DECL, \
+ id, all_binds) \
+ BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_AUX_CAPTURE_DECL, \
+ (id, typename_keyword), all_binds) \
/* binding class */ \
struct BOOST_SCOPE_EXIT_AUX_PARAMS_T(id) { \
BOOST_PP_EXPR_IIF(has_any_bind_this, \
BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_THIS_TYPE(id) \
BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_THIS_NAME; \
) \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I(BOOST_SCOPE_EXIT_AUX_PARAM_DECL, \
- (id, typename_keyword), all_bind_nilseq) \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I(BOOST_SCOPE_EXIT_AUX_MEMBER, \
- id, all_bind_nilseq) \
+ BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_AUX_PARAM_DECL, \
+ (id, typename_keyword), all_binds) \
+ BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_AUX_MEMBER, \
+ id, all_binds) \
} BOOST_LOCAL_AUX_SYMBOL_PARAMS_LOCAL_VARIABLE_NAME(id) = { \
/* initialize the struct with param values to bind */ \
BOOST_PP_EXPR_IIF(has_any_bind_this, this) \
- BOOST_PP_COMMA_IF(BOOST_PP_BITAND(has_any_bind_this, BOOST_PP_NOT( \
- BOOST_DETAIL_PP_NILSEQ_IS_NIL(all_bind_nilseq)))) \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
- BOOST_SCOPE_EXIT_AUX_PARAM_INIT, id, all_bind_nilseq) \
+ BOOST_PP_COMMA_IF(BOOST_PP_BITAND(has_any_bind_this, \
+ BOOST_PP_LIST_IS_CONS(all_binds))) \
+ BOOST_PP_LIST_FOR_EACH_I(BOOST_SCOPE_EXIT_AUX_PARAM_INIT, \
+ id, all_binds) \
};
// Assume has some bind param.
Modified: sandbox/local/boost/local/aux_/function_macros/code_/deduce_result_type.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/function_macros/code_/deduce_result_type.hpp (original)
+++ sandbox/local/boost/local/aux_/function_macros/code_/deduce_result_type.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -9,34 +9,34 @@
#include <boost/preprocessor/facilities/is_empty.hpp>
// This must follow the result type.
-#define BOOST_LOCAL_AUX_FUNCTION_CODE_DEDUCE_RESULT_TYPE( \
- id, typename_keyword) \
+#define BOOST_LOCAL_AUX_FUNCTION_CODE_DEDUCE_RESULT_TYPE(id, is_template) \
/* result type here */ (*BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_FUNC(id))(); \
/* the many tagging, wrapping, etc that follow are taken from */ \
/* Boost.ScopeExit type deduction mechanism and they are necessary */ \
/* within template on GCC to work around a compiler internal error */ \
typedef void (*BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_TAG(id))( \
int BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_FUNC(id)); \
- typedef BOOST_PP_IIF(BOOST_PP_IS_EMPTY(typename_keyword), \
- BOOST_TYPEOF \
- , \
+ typedef BOOST_PP_IIF(is_template, \
BOOST_TYPEOF_TPL \
+ , \
+ BOOST_TYPEOF \
)(boost::scope_exit::aux::wrap( \
boost::scope_exit::aux::deref( \
BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_FUNC(id), \
(BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_TAG(id))0))) \
BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_WRAP(id); \
- typedef typename_keyword BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_WRAP(id):: \
- type BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_CAPTURE(id); \
+ typedef BOOST_PP_EXPR_IIF(is_template, typename) \
+ BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_WRAP(id)::type \
+ BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_CAPTURE(id); \
struct BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_PARAMS(id) { \
typedef BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_CAPTURE(id) \
function_ptr_type;\
}; \
- typedef typename_keyword boost::remove_pointer<typename_keyword \
- BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_PARAMS(id):: \
- function_ptr_type>::type \
- BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_FUNC_TYPE(id); \
- typedef typename_keyword boost::function_traits< \
+ typedef BOOST_PP_EXPR_IIF(is_template, typename) boost::remove_pointer< \
+ BOOST_PP_EXPR_IIF(is_template, typename) \
+ BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_PARAMS(id)::function_ptr_type \
+ >::type BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_FUNC_TYPE(id); \
+ typedef BOOST_PP_EXPR_IIF(is_template, typename) boost::function_traits< \
BOOST_LOCAL_AUX_SYMBOL_DEDUCE_RESULT_FUNC_TYPE(id)>::result_type \
BOOST_LOCAL_AUX_SYMBOL_RESULT_TYPE(id);
Modified: sandbox/local/boost/local/aux_/function_macros/code_/functor.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/function_macros/code_/functor.hpp (original)
+++ sandbox/local/boost/local/aux_/function_macros/code_/functor.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -18,7 +18,6 @@
#include "../../../config.hpp"
#include "../../../function.hpp"
#include <boost/type_traits.hpp>
-#include <boost/detail/preprocessor/nilseq.hpp>
#include <boost/preprocessor/punctuation/comma_if.hpp>
#include <boost/preprocessor/logical/bitand.hpp>
#include <boost/preprocessor/logical/bitand.hpp>
@@ -29,6 +28,8 @@
#include <boost/preprocessor/control/iif.hpp>
#include <boost/preprocessor/control/expr_iif.hpp>
#include <boost/preprocessor/tuple/eat.hpp>
+#include <boost/preprocessor/list/adt.hpp> // For `IS_CONS`.
+#include <boost/preprocessor/list/for_each_i.hpp>
// PRIVATE //
@@ -38,7 +39,7 @@
BOOST_LOCAL_AUX_SYMBOL_RESULT_TYPE(id) \
BOOST_PP_EXPR_IIF(has_type, (type_name) ) \
( \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
+ BOOST_PP_LIST_FOR_EACH_I( \
BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_UNBIND_DECL, ~, \
BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND(sign_params)) \
)
@@ -51,37 +52,37 @@
id, typename_keyword) \
BOOST_LOCAL_AUX_SYMBOL_RESULT_TYPE(id) \
operator()( \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
- BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_UNBIND_ARG_DECL, \
- typename_keyword, unbinds) \
+ BOOST_PP_LIST_FOR_EACH_I( \
+ BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_UNBIND_ARG_DECL, \
+ typename_keyword, unbinds) \
) { \
/* just forward call to member function with local func name */ \
return BOOST_LOCAL_AUX_SYMBOL_BODY_FUNCTION_NAME( \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
+ BOOST_PP_LIST_FOR_EACH_I( \
BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_MAYBECONST_BIND, \
(id, 0 /* no offset */), \
const_binds) \
/* pass plain binds */ \
BOOST_PP_COMMA_IF( \
BOOST_PP_BITAND( \
- BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(const_binds) \
- , BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(binds) \
+ BOOST_PP_LIST_IS_CONS(const_binds) \
+ , BOOST_PP_LIST_IS_CONS(binds) \
) \
) \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
+ BOOST_PP_LIST_FOR_EACH_I( \
BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_MAYBECONST_BIND, \
(id \
/* offset param index of # of preceeding */ \
/* const-bind params (could be 0)*/ \
- , BOOST_DETAIL_PP_NILSEQ_SIZE(const_binds) \
+ , BOOST_PP_LIST_SIZE(const_binds) \
), \
binds) \
/* pass bind `this` */ \
BOOST_PP_COMMA_IF( \
BOOST_PP_BITAND( \
BOOST_PP_BITOR( \
- BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(const_binds) \
- , BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(binds) \
+ BOOST_PP_LIST_IS_CONS(const_binds) \
+ , BOOST_PP_LIST_IS_CONS(binds) \
) \
, BOOST_PP_BITOR(has_const_bind_this, has_bind_this) \
) \
@@ -96,15 +97,15 @@
BOOST_PP_BITAND( \
BOOST_PP_BITOR( \
BOOST_PP_BITOR( \
- BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(const_binds) \
- , BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(binds) \
+ BOOST_PP_LIST_IS_CONS(const_binds) \
+ , BOOST_PP_LIST_IS_CONS(binds) \
) \
, BOOST_PP_BITOR(has_const_bind_this, has_bind_this) \
) \
- , BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(unbinds) \
+ , BOOST_PP_LIST_IS_CONS(unbinds) \
) \
) \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
+ BOOST_PP_LIST_FOR_EACH_I( \
BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_UNBIND_ARG_NAME, \
~, unbinds) \
); \
@@ -113,9 +114,8 @@
// Return unbind params but without last (default) params specified by count.
#define BOOST_LOCAL_AUX_FUNCTION_CODE_FUNCTOR_UNBIND_REMOVE_LAST_N_(n, \
unbinds) \
- /* must use PP_SEQ instead of PP_NILSEQ so resulting seq is still nil */ \
- BOOST_PP_SEQ_FIRST_N(BOOST_PP_SUB(BOOST_PP_SEQ_SIZE( \
- unbinds), n), unbinds)
+ BOOST_PP_LIST_FIRST_N(BOOST_PP_SUB(BOOST_PP_LIST_SIZE(unbinds), n), \
+ unbinds)
#define BOOST_LOCAL_AUX_FUNCTION_CODE_FUNCTOR_CALL_FOR_DEFAULTS_(z, \
n, params_unbinds_constbinds_hasconstthis_binds_hasthis_id_typename) \
@@ -187,17 +187,17 @@
/* alwasy attached to the & symbol plus programmers can always */ \
/* remove const& using type traits) */ \
/* const bind typeof types */ \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
+ BOOST_PP_LIST_FOR_EACH_I( \
BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_CONST_TYPEDEF, \
(id, typename_keyword, 0 /* no offset */), \
const_binds) \
/* bind typeof types */ \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
+ BOOST_PP_LIST_FOR_EACH_I( \
BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_TYPEDEF, \
( id, typename_keyword, \
/* offset param index of # of preceeding */ \
/* const-bindparams (could be 0)*/ \
- BOOST_DETAIL_PP_NILSEQ_SIZE(const_binds)),\
+ BOOST_PP_LIST_SIZE(const_binds)),\
binds) \
/* this (const or not) bind type */ \
BOOST_PP_EXPR_IIF(has_const_bind_this, \
@@ -227,30 +227,30 @@
BOOST_LOCAL_AUX_SYMBOL_RESULT_TYPE(id) \
BOOST_LOCAL_AUX_SYMBOL_BODY_FUNCTION_NAME( \
/* const binds */ \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
+ BOOST_PP_LIST_FOR_EACH_I( \
BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_CONST_BIND_DECL, \
(id, typename_keyword, 0 /* no offset */), \
const_binds) \
/* plain binds */ \
BOOST_PP_COMMA_IF( \
BOOST_PP_BITAND( \
- BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(const_binds) \
- , BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(binds) \
+ BOOST_PP_LIST_IS_CONS(const_binds) \
+ , BOOST_PP_LIST_IS_CONS(binds) \
) \
) \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
+ BOOST_PP_LIST_FOR_EACH_I( \
BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_BIND_DECL, \
( id, typename_keyword, \
/* offset param index of # of preceeding */ \
/* const-bindparams (could be 0)*/ \
- BOOST_DETAIL_PP_NILSEQ_SIZE(const_binds) ),\
+ BOOST_PP_LIST_SIZE(const_binds) ),\
binds) \
/* `this` bind */ \
BOOST_PP_COMMA_IF( \
BOOST_PP_BITAND( \
BOOST_PP_BITOR( \
- BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(const_binds) \
- , BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(binds) \
+ BOOST_PP_LIST_IS_CONS(const_binds) \
+ , BOOST_PP_LIST_IS_CONS(binds) \
) \
, BOOST_PP_BITOR(has_const_bind_this, has_bind_this) \
) \
@@ -269,17 +269,16 @@
BOOST_PP_BITAND( \
BOOST_PP_BITOR( \
BOOST_PP_BITOR( \
- BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL( \
- const_binds) \
- , BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(binds) \
+ BOOST_PP_LIST_IS_CONS(const_binds) \
+ , BOOST_PP_LIST_IS_CONS(binds) \
) \
, BOOST_PP_BITOR(has_const_bind_this, \
has_bind_this) \
) \
- , BOOST_DETAIL_PP_NILSEQ_IS_NOT_NIL(unbinds) \
+ , BOOST_PP_LIST_IS_CONS(unbinds) \
) \
) \
- BOOST_DETAIL_PP_NILSEQ_FOR_EACH_I( \
+ BOOST_PP_LIST_FOR_EACH_I( \
BOOST_LOCAL_AUX_FUNCTION_CODE_PARAM_UNBIND_DECL_WITH_DEFAULT, \
~, unbinds) \
) /* end body function params */ \
Modified: sandbox/local/boost/local/aux_/function_macros/params.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/function_macros/params.hpp (original)
+++ sandbox/local/boost/local/aux_/function_macros/params.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -19,38 +19,39 @@
// PRIVATE //
-#define BOOST_LOCAL_AUX_FUNCTION_PARAMS_OK_(sign_params, id, typename_keyword) \
- BOOST_LOCAL_AUX_FUNCTION_CODE_BINDING(sign_params, id, typename_keyword) \
- BOOST_LOCAL_AUX_FUNCTION_CODE_FUNCTOR(sign_params, id, typename_keyword)
+#define BOOST_LOCAL_AUX_FUNCTION_PARAMS_TYPENAME_KEYWORD_(is_template) \
+ BOOST_PP_IIF(is_template, BOOST_PP_IDENTITY(typename), BOOST_PP_EMPTY)()
-#define BOOST_LOCAL_AUX_FUNCTION_PARAMS_ERROR_( \
- sign_params, id, typename_keyword) \
+#define BOOST_LOCAL_AUX_FUNCTION_PARAMS_OK_(sign_params, id, is_template) \
+ BOOST_LOCAL_AUX_FUNCTION_CODE_BINDING(sign_params, id, \
+ BOOST_LOCAL_AUX_FUNCTION_PARAMS_TYPENAME_KEYWORD_(is_template)) \
+ BOOST_LOCAL_AUX_FUNCTION_CODE_FUNCTOR(sign_params, id, \
+ BOOST_LOCAL_AUX_FUNCTION_PARAMS_TYPENAME_KEYWORD_(is_template))
+
+#define BOOST_LOCAL_AUX_FUNCTION_PARAMS_ERROR_(sign_params, id, is_template) \
; /* close eventual previous statements, otherwise it has no effect */ \
BOOST_MPL_ASSERT_MSG(false, /* always fails (there's an error) */ \
BOOST_LOCAL_AUX_PP_SIGN_PARAMS_ERROR_MSG(sign_params), ()) \
; /* must close ASSERT macro for eventual use within class scope */
// sign_params: parsed parenthesized params.
-#define BOOST_LOCAL_AUX_FUNCTION_PARAMS_(sign_params, id, typename_keyword) \
+#define BOOST_LOCAL_AUX_FUNCTION_PARAMS_(sign_params, id, is_template) \
/* this must follow the result type (this code must be always present */ \
/* even if there's an error because result type always present) */ \
- BOOST_LOCAL_AUX_FUNCTION_CODE_DEDUCE_RESULT_TYPE(id, typename_keyword) \
+ BOOST_LOCAL_AUX_FUNCTION_CODE_DEDUCE_RESULT_TYPE(id, is_template) \
/* rest of the code */ \
BOOST_PP_IIF(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_HAVE_ERROR(sign_params), \
BOOST_LOCAL_AUX_FUNCTION_PARAMS_ERROR_ \
, \
BOOST_LOCAL_AUX_FUNCTION_PARAMS_OK_ \
- )(sign_params, id, typename_keyword)
+ )(sign_params, id, is_template)
// PUBLIC //
-// typename_keyword: `typename` in type depended context (i.e., templates),
-// `EMPTY()` otherwise.
-#define BOOST_LOCAL_AUX_FUNCTION_PARAMS( \
- parenthesized_params, id, typename_keyword) \
+#define BOOST_LOCAL_AUX_FUNCTION_PARAMS(parenthesized_params, id, is_template) \
BOOST_LOCAL_AUX_FUNCTION_PARAMS_( \
BOOST_LOCAL_AUX_PP_SIGN_PARSE_PARAMS(parenthesized_params), \
- id, typename_keyword)
+ id, is_template)
#endif // #include guard
Modified: sandbox/local/boost/local/aux_/preprocessor/sign/params_any_bind.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/preprocessor/sign/params_any_bind.hpp (original)
+++ sandbox/local/boost/local/aux_/preprocessor/sign/params_any_bind.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -5,18 +5,9 @@
#include "params_const_bind.hpp"
#include "params_bind.hpp"
#include <boost/preprocessor/logical/bitor.hpp>
-#include <boost/preprocessor/seq.hpp> // For `PP_SEQ_TAIL`.
#include <boost/preprocessor/control/iif.hpp>
-#include <boost/preprocessor/control/expr_iif.hpp>
#include <boost/preprocessor/tuple/eat.hpp>
-
-// Private //
-
-// Return nil-seq with any bind (const or not) but not unbind.
-#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_ALL_BIND_SEQ_TAIL_(params, seq_macro) \
- BOOST_PP_SEQ_TAIL(seq_macro(params))
-
-// Public //
+#include <boost/preprocessor/list/append.hpp>
// Expand to 1 iff `this` is bound (const or not).
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_HAVE_ANY_BIND_THIS(params) \
@@ -48,25 +39,19 @@
// Expand to nil-seq `(NIL) ([&]var) ...` with all binds (const or not) but
// excluding `this`.
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_ALL_BIND_WITHOUT_THIS(params) \
- (BOOST_PP_NIL) \
- BOOST_PP_IIF(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_HAVE_CONST_BIND(params), \
- BOOST_LOCAL_AUX_PP_SIGN_PARAMS_ALL_BIND_SEQ_TAIL_ \
- , \
- BOOST_PP_TUPLE_EAT(2) \
- )(params, BOOST_LOCAL_AUX_PP_SIGN_PARAMS_CONST_BIND) \
- BOOST_PP_IIF(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_HAVE_BIND(params), \
- BOOST_LOCAL_AUX_PP_SIGN_PARAMS_ALL_BIND_SEQ_TAIL_ \
- , \
- BOOST_PP_TUPLE_EAT(2) \
- )(params, BOOST_LOCAL_AUX_PP_SIGN_PARAMS_BIND)
+ BOOST_PP_LIST_APPEND(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_CONST_BIND(params), \
+ BOOST_LOCAL_AUX_PP_SIGN_PARAMS_BIND(params))
// Expand to nil-seq `(NIL) ([&]var) ...` with all binds (const or not) and
// including `this` if bound (const or not).
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_ALL_BIND(params) \
- BOOST_LOCAL_AUX_PP_SIGN_PARAMS_ALL_BIND(params) \
- BOOST_PP_EXPR_IIF(BOOST_PP_EXPAND( /* expand for MSVC */ \
- BOOST_LOCAL_AUX_PP_SIGN_PARAMS_HAVE_ANY_BIND_THIS(params)), \
- (this) /* never by reference because `&this` is not valid in C++ */ \
+ BOOST_PP_LIST_APPEND(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_ALL_BIND(params), \
+ BOOST_PP_IIF(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_HAVE_ANY_BIND_THIS( \
+ params), \
+ (this, BOOST_PP_NIL) /* `this` never by ref because in C++ */ \
+ , \
+ BOOST_PP_NIL \
+ ) \
)
#endif // #include guard
Modified: sandbox/local/boost/local/aux_/preprocessor/sign/params_bind.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/preprocessor/sign/params_bind.hpp (original)
+++ sandbox/local/boost/local/aux_/preprocessor/sign/params_bind.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -4,6 +4,7 @@
#include "parsed_params_/index.hpp"
#include <boost/preprocessor/tuple/elem.hpp>
+#include <boost/preprocessor/list/adt.hpp> // For `IS_CONS`.
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_BIND(params) \
BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_AUX_PP_SIGN_PARSED_PARAMS_INDEX_MAX, \
@@ -11,8 +12,7 @@
params)
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_HAVE_BIND(params) \
- BOOST_PP_GREATER(BOOST_PP_SEQ_SIZE( /* size > 1 because nil-seq */ \
- BOOST_LOCAL_AUX_PP_SIGN_PARAMS_BIND(params)), 1)
+ BOOST_PP_LIST_IS_CONS(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_BIND(params))
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_BIND_THIS_COUNT(params) \
BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_AUX_PP_SIGN_PARSED_PARAMS_INDEX_MAX, \
Modified: sandbox/local/boost/local/aux_/preprocessor/sign/params_const_bind.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/preprocessor/sign/params_const_bind.hpp (original)
+++ sandbox/local/boost/local/aux_/preprocessor/sign/params_const_bind.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -4,8 +4,7 @@
#include "parsed_params_/index.hpp"
#include <boost/preprocessor/tuple/elem.hpp>
-#include <boost/preprocessor/seq/size.hpp>
-#include <boost/preprocessor/comparison/greater.hpp>
+#include <boost/preprocessor/list/adt.hpp> // For `IS_CONS`.
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_CONST_BIND(params) \
BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_AUX_PP_SIGN_PARSED_PARAMS_INDEX_MAX, \
@@ -13,8 +12,7 @@
params)
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_HAVE_CONST_BIND(params) \
- BOOST_PP_GREATER(BOOST_PP_SEQ_SIZE( /* size > 1 because nil-seq */ \
- BOOST_LOCAL_AUX_PP_SIGN_PARAMS_CONST_BIND(params)), 1)
+ BOOST_PP_LIST_IS_CONS(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_CONST_BIND(params))
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_CONST_BIND_THIS_COUNT(params) \
BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_AUX_PP_SIGN_PARSED_PARAMS_INDEX_MAX, \
Modified: sandbox/local/boost/local/aux_/preprocessor/sign/params_unbind.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/preprocessor/sign/params_unbind.hpp (original)
+++ sandbox/local/boost/local/aux_/preprocessor/sign/params_unbind.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -8,8 +8,8 @@
#include <boost/preprocessor/arithmetic/inc.hpp>
#include <boost/preprocessor/control/iif.hpp>
#include <boost/preprocessor/logical/not.hpp>
-#include <boost/preprocessor/seq/fold_left.hpp>
-#include <boost/preprocessor/seq.hpp> // For TAIL.
+#include <boost/preprocessor/list/adt.hpp> // For `IS_CONS`.
+#include <boost/preprocessor/list/fold_left.hpp>
// PRIVATE //
@@ -27,12 +27,12 @@
defaults_count BOOST_PP_TUPLE_EAT(1) \
)(defaults_count)
-// Precondition: unbinds is a nil-seq which is not nil.
+// Precondition: unbinds is a pp-list which is not nil.
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND_COUNT_DEFAULTS_(unbinds) \
- BOOST_PP_SEQ_FOLD_LEFT( \
+ BOOST_PP_LIST_FOLD_LEFT( \
BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND_COUNT_DEFAULTS_OP_, \
0 /* start with defaults_count to 0 */, \
- BOOST_PP_SEQ_TAIL(unbinds)) /* TAIL for leading NIL */
+ unbinds)
// Expand to `default ... EMPTY()` if default value, `EMPTY()` otherwise.
// Leading default is kept because default value might not be alphanumeric
@@ -61,14 +61,13 @@
BOOST_PP_NOT(BOOST_PP_IS_EMPTY( \
BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND_PARAM_DEFAULT_(param)))
-// Expand to nil-seq of ALL unbind params.
+// Expand to pp-list of ALL unbind params.
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND(params) \
BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_AUX_PP_SIGN_PARSED_PARAMS_INDEX_MAX, \
BOOST_LOCAL_AUX_PP_SIGN_PARSED_PARAMS_INDEX_UNBIND, params)
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_HAVE_UNBIND(params) \
- BOOST_PP_GREATER(BOOST_PP_SEQ_SIZE( /* size > 1 because nil-seq */ \
- BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND(params)), 1)
+ BOOST_PP_LIST_IS_CONS(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND(params))
#define BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND_COUNT_DEFAULTS(params) \
BOOST_PP_IIF(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_HAVE_UNBIND(params), \
Modified: sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_bind.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_bind.hpp (original)
+++ sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_bind.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -5,6 +5,7 @@
#include "../params_unbind.hpp"
#include "../params_bind.hpp"
#include "../params_const_bind.hpp"
+#include <boost/preprocessor/list/append.hpp>
// bind_qualified_name: [&] name
#define BOOST_LOCAL_AUX_PP_SIGN_PARSED_PARAMS_APPEND_BIND( \
@@ -16,8 +17,8 @@
, /* const-bind `this` count */ \
BOOST_LOCAL_AUX_PP_SIGN_PARAMS_CONST_BIND_THIS_COUNT(params) \
, /* bind names */ \
- BOOST_LOCAL_AUX_PP_SIGN_PARAMS_BIND(params) \
- (bind_qualified_name) /* append */ \
+ BOOST_PP_LIST_APPEND(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_BIND(params), \
+ (bind_qualified_name, BOOST_PP_NIL)) \
, /* bind `this` count */ \
BOOST_LOCAL_AUX_PP_SIGN_PARAMS_BIND_THIS_COUNT(params) \
, /* error message (if any) */ \
Modified: sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_const_bind.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_const_bind.hpp (original)
+++ sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_const_bind.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -5,6 +5,7 @@
#include "../params_unbind.hpp"
#include "../params_bind.hpp"
#include "../params_const_bind.hpp"
+#include <boost/preprocessor/list/append.hpp>
// const_bind_qualified_name: [&] name (with name != `this`)
#define BOOST_LOCAL_AUX_PP_SIGN_PARSED_PARAMS_APPEND_CONST_BIND( \
@@ -12,8 +13,8 @@
( /* unbind params and defaults */ \
BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND(params) \
, /* const-bind names */ \
- BOOST_LOCAL_AUX_PP_SIGN_PARAMS_CONST_BIND(params) \
- (const_bind_qualified_name) /* append */ \
+ BOOST_PP_LIST_APPEND(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_CONST_BIND(params),\
+ (const_bind_qualified_name, BOOST_PP_NIL))\
, /* const-bind `this` count */ \
BOOST_LOCAL_AUX_PP_SIGN_PARAMS_CONST_BIND_THIS_COUNT(params) \
, /* bind names */ \
Modified: sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_unbind.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_unbind.hpp (original)
+++ sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_unbind.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -6,14 +6,16 @@
#include "../params_bind.hpp"
#include "../params_const_bind.hpp"
#include <boost/preprocessor/facilities/empty.hpp>
+#include <boost/preprocessor/list/append.hpp>
// unbind_classified_type_and_name: [auto | register] type name
#define BOOST_LOCAL_AUX_PP_SIGN_PARSED_PARAMS_APPEND_UNBIND( \
params, unbind_classified_type_and_name) \
( /* unbind params and defaults */ \
- BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND(params) \
- /* append param (with no default -- EMPTY) */ \
- ((unbind_classified_type_and_name, BOOST_PP_EMPTY)) \
+ BOOST_PP_LIST_APPEND(BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND(params), \
+ /* append param (with no default -- EMPTY) */ \
+ ((unbind_classified_type_and_name, BOOST_PP_EMPTY), \
+ BOOST_PP_NIL)) \
, /* const-bind names */ \
BOOST_LOCAL_AUX_PP_SIGN_PARAMS_CONST_BIND(params) \
, /* const-bind `this` count */ \
Modified: sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_unbind_default.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_unbind_default.hpp (original)
+++ sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/append_unbind_default.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -6,29 +6,37 @@
#include "../params_bind.hpp"
#include "../params_const_bind.hpp"
#include <boost/preprocessor/facilities/empty.hpp>
-#include <boost/preprocessor/seq/pop_back.hpp>
-#include <boost/preprocessor/seq/elem.hpp>
-#include <boost/preprocessor/seq/size.hpp>
+#include <boost/preprocessor/list/size.hpp>
+#include <boost/preprocessor/list/at.hpp>
+#include <boost/preprocessor/list/append.hpp>
+#include <boost/preprocessor/list/first_n.hpp>
// Private API.
#define BOOST_LOCAL_AUX_PP_SIGN_PARSED_PARAMS_APPEND_UNBIND_DEFAULT_( \
- unbind_nilseq, default_value) \
- BOOST_PP_SEQ_POP_BACK(unbind_nilseq) \
- (( /* seq of 2-tuple params */ \
- /* last appended classifier type and name */ \
- BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND_PARAM_DECL(BOOST_PP_SEQ_ELEM( \
- /* nil-seq so can always safely decrement size */ \
- BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(unbind_nilseq)), \
- unbind_nilseq)) \
+ unbinds, default_value) \
+ /* `DEC` ok because precondition that unbinds are not nil-list */ \
+ BOOST_PP_LIST_APPEND( \
+ BOOST_PP_LIST_FIRST_N(BOOST_PP_DEC(BOOST_PP_LIST_SIZE(unbinds)), \
+ unbinds) \
, \
- /* trailing EMPTY because defaults are optional */ \
- default_value BOOST_PP_EMPTY \
- ))
+ ( /* list 2-tuple */ \
+ ( /* (param_decl, default) 2-tuple */ \
+ BOOST_LOCAL_AUX_PP_SIGN_PARAMS_UNBIND_PARAM_DECL( \
+ BOOST_PP_LIST_AT(unbinds, BOOST_PP_DEC( \
+ BOOST_PP_LIST_SIZE(unbinds)))) \
+ , \
+ default_value BOOST_PP_EMPTY \
+ ) \
+ , \
+ BOOST_PP_NIL \
+ ) \
+ )
// Public API.
// default_value: a valid parameter default value (`-1`, etc)
+// Precondition: already added unbinds are not nil-list.
#define BOOST_LOCAL_AUX_PP_SIGN_PARSED_PARAMS_APPEND_UNBIND_DEFAULT( \
params, default_value) \
( /* unbind params and defaults */ \
Modified: sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/nil.hpp
==============================================================================
--- sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/nil.hpp (original)
+++ sandbox/local/boost/local/aux_/preprocessor/sign/parsed_params_/nil.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -7,17 +7,16 @@
// See "index_.hpp".
#define BOOST_LOCAL_AUX_PP_SIGN_PARSED_PARAMS_NIL \
( \
- /* unbound params: nil-seq of 2-tuples */ \
- /* `((NIL, NIL)) ((classifier_type_name, default)) ...` */ \
- ( (BOOST_PP_NIL, BOOST_PP_NIL BOOST_PP_EMPTY) ) \
+ /* unbound params: list of 2-tuples (classified_name, default) */ \
+ BOOST_PP_NIL /* nil list */ \
, \
- /* const-binds: nil-seq of 1-tuple `(NIL) (ref_name) ...` */ \
- (BOOST_PP_NIL) \
+ /* const-binds: nil-seq of 1-tuple `ref_name` */ \
+ BOOST_PP_NIL /* nil list */ \
, \
0 /* number of const-bind `this` */ \
, \
- /* binds: nil-seq of 1-tuple `(NIL) (ref_name) ...` */ \
- (BOOST_PP_NIL) \
+ /* binds: nil-seq of 1-tuple `ref_name` */ \
+ BOOST_PP_NIL /* nil list */ \
, \
0 /* number of bind `this` */ \
, \
Modified: sandbox/local/boost/local/function.hpp
==============================================================================
--- sandbox/local/boost/local/function.hpp (original)
+++ sandbox/local/boost/local/function.hpp 2011-02-27 17:38:49 EST (Sun, 27 Feb 2011)
@@ -20,10 +20,12 @@
#if defined(BOOST_NO_VARIADIC_MACROS)
#define BOOST_LOCAL_FUNCTION_PARAMS(parameter_list) \
- BOOST_LOCAL_AUX_FUNCTION_PARAMS(parameter_list, __LINE__, BOOST_PP_EMPTY())
+ BOOST_LOCAL_AUX_FUNCTION_PARAMS(parameter_list, \
+ __LINE__, 0 /* no template */)
#define BOOST_LOCAL_FUNCTION_PARAMS_TPL(parameter_list) \
- BOOST_LOCAL_AUX_FUNCTION_PARAMS(parameter_list, __LINE__, typename)
+ BOOST_LOCAL_AUX_FUNCTION_PARAMS(parameter_list, \
+ __LINE__, 1 /* template */)
#else // BOOST_NO_VARIADIC_MACROS
@@ -32,12 +34,12 @@
#define BOOST_LOCAL_FUNCTION_PARAMS(...) \
BOOST_LOCAL_AUX_FUNCTION_PARAMS(BOOST_LOCAL_AUX_PP_VA_TO_SEQ( \
(void) /* for empty seq */, __VA_ARGS__), \
- __LINE__, BOOST_PP_EMPTY())
+ __LINE__, 0 /* no template */)
#define BOOST_LOCAL_FUNCTION_PARAMS_TPL(...) \
BOOST_LOCAL_AUX_FUNCTION_PARAMS(BOOST_LOCAL_AUX_PP_VA_TO_SEQ( \
(void) /* for empty seq */, __VA_ARGS__), \
- __LINE__, typename)
+ __LINE__, 1 /* template */)
#endif // BOOST_NO_VARIADIC_MACROS
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