Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r76615 - in sandbox/closure/boost/local_function: aux_ aux_/macro aux_/macro/code_ aux_/preprocessor/traits aux_/preprocessor/traits/decl_ aux_/preprocessor/traits/decl_/validate_ aux_/preprocessor/traits/decl_sign_ aux_/preprocessor/traits/decl_sign_/validate_ detail/preprocessor detail/preprocessor/keyword detail/preprocessor/keyword/facility
From: lorcaminiti_at_[hidden]
Date: 2012-01-21 13:19:25


Author: lcaminiti
Date: 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
New Revision: 76615
URL: http://svn.boost.org/trac/boost/changeset/76615

Log:
Renaming to LocalFunction.
Added:
   sandbox/closure/boost/local_function/aux_/macro/decl.hpp
      - copied, changed from r76567, /sandbox/closure/boost/closure/aux_/macro/closure.hpp
   sandbox/closure/boost/local_function/aux_/macro/name.hpp
      - copied, changed from r76567, /sandbox/closure/boost/closure/aux_/macro/closure_end.hpp
   sandbox/closure/boost/local_function/aux_/macro/typeof.hpp
      - copied, changed from r76567, /sandbox/closure/boost/closure/aux_/macro/closure_typeof.hpp
Removed:
   sandbox/closure/boost/local_function/aux_/macro/closure.hpp
   sandbox/closure/boost/local_function/aux_/macro/closure_end.hpp
   sandbox/closure/boost/local_function/aux_/macro/closure_typeof.hpp
Text files modified:
   sandbox/closure/boost/local_function/aux_/add_pointed_const.hpp | 13
   sandbox/closure/boost/local_function/aux_/config.hpp | 28 +
   sandbox/closure/boost/local_function/aux_/function.hpp | 291 +++++++++++-----------
   sandbox/closure/boost/local_function/aux_/macro/code_/bind.hpp | 144 ++++++-----
   sandbox/closure/boost/local_function/aux_/macro/code_/functor.hpp | 518 +++++++++++++++++++++------------------
   sandbox/closure/boost/local_function/aux_/macro/code_/result.hpp | 88 +++---
   sandbox/closure/boost/local_function/aux_/macro/decl.hpp | 45 +-
   sandbox/closure/boost/local_function/aux_/macro/name.hpp | 10
   sandbox/closure/boost/local_function/aux_/macro/typeof.hpp | 10
   sandbox/closure/boost/local_function/aux_/member.hpp | 10
   sandbox/closure/boost/local_function/aux_/nobind.hpp | 18
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/bind.hpp | 36 +-
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl.hpp | 14
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/append.hpp | 147 ++++++-----
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/index.hpp | 20
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/nil.hpp | 6
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/set_error.hpp | 27 +-
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/validate.hpp | 14
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/validate_/return_count.hpp | 15
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/validate_/this_count.hpp | 20
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_binds.hpp | 21
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_const_binds.hpp | 28 +
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_error.hpp | 17
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_params.hpp | 35 +-
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_returns.hpp | 12
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/any_bind_type.hpp | 81 +++--
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/sign.hpp | 140 +++++----
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate.hpp | 18
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_/defaults.hpp | 54 ++-
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_/this.hpp | 51 ++-
   sandbox/closure/boost/local_function/aux_/preprocessor/traits/param.hpp | 24
   sandbox/closure/boost/local_function/aux_/symbol.hpp | 26 +
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/auto.hpp | 64 ++--
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/bind.hpp | 64 ++--
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/const.hpp | 64 ++--
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/const_bind.hpp | 76 +++--
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/default.hpp | 64 ++--
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/facility/add.hpp | 4
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/facility/is.hpp | 14
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/facility/remove.hpp | 25 +
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/inline.hpp | 64 ++--
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/recursive.hpp | 66 ++--
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/register.hpp | 64 ++--
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/return.hpp | 64 ++--
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/this.hpp | 64 ++--
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/thisunderscore.hpp | 69 ++--
   sandbox/closure/boost/local_function/detail/preprocessor/keyword/void.hpp | 64 ++--
   sandbox/closure/boost/local_function/detail/preprocessor/line_counter.hpp | 8
   sandbox/closure/boost/local_function/detail/preprocessor/void_list.hpp | 89 ++++--
   49 files changed, 1533 insertions(+), 1375 deletions(-)

Modified: sandbox/closure/boost/local_function/aux_/add_pointed_const.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/add_pointed_const.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/add_pointed_const.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,15 +4,14 @@
 // 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_TYPE_TRAITS_ADD_POINTED_CONST_HPP_
-#define BOOST_LOCAL_AUX_TYPE_TRAITS_ADD_POINTED_CONST_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_ADD_POINTED_CONST_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_ADD_POINTED_CONST_HPP_
 
-namespace boost { namespace local { namespace aux {
+namespace boost { namespace local_function { namespace aux {
 
 // Metafunction to add const to pointed type `T` (i.e. converts
-// `T* [const]` to `T const* [const]`).
-// NOTE: `boost::add_const<>` cannot be used instead because only adds outer
-// const.
+// `T* [const]` to `T const* [const]`). `boost::add_const<>` cannot be used
+// instead because only adds outer const.
 
 template<typename T> struct add_pointed_const { typedef T type; };
 
@@ -27,7 +26,7 @@
 template<typename T> struct add_pointed_const<T const* const>
     { typedef T const* const type; };
 
-}}} // namespace
+} } } // namespace
 
 #endif //#include guard
 

Modified: sandbox/closure/boost/local_function/aux_/config.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/config.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/config.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -1,14 +1,28 @@
 
-#ifndef BOOST_CLOSURE_AUX_CONFIG_HPP_
-#define BOOST_CLOSURE_AUX_CONFIG_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_CONFIG_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_CONFIG_HPP_
 
-#include <boost/closure/config.hpp>
-#include <boost/config_ext.hpp>
+#include <boost/config.hpp>
 
-#ifdef BOOST_NO_LOCAL_TYPES_AS_TEMPLATE_PARAMS
-# define BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01 0
+// PRIVATE //
+
+// FUTURE: Replace this with BOOST_NO_LOCAL_TYPES_AS_TEMPLATE_PARAMS after
+// that macro is added to Boost.Config.
+// If it is possible to pass local types (classes, etc) as template parameters.
+// This is not possible in pure C++03 but it is possible in some C++03
+// extensions (MSVC, GCC 4.5.x, etc).
+#if !((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)) && \
+ defined(__GXX_EXPERIMENTAL_CXX0X__)) && !defined(BOOST_MSVC)
+ // Not GCC 4.5.x with -std=c++0x and not MSVC.
+# define BOOST_LOCAL_FUNCTION_AUX_CONFIG_NO_LOCAL_TYPES_AS_TEMPLATE_PARAMS
+#endif
+
+// PUBLIC //
+
+#ifdef BOOST_LOCAL_FUNCTION_AUX_CONFIG_NO_LOCAL_TYPES_AS_TEMPLATE_PARAMS
+# define BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01 0
 #else
-# define BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01 1
+# define BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01 1
 #endif
 
 #endif // #include guard

Modified: sandbox/closure/boost/local_function/aux_/function.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/function.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/function.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -5,11 +5,12 @@
 // copy at http://www.boost.org/LICENSE_1_0.txt).
 
 #if !BOOST_PP_IS_ITERATING
-# ifndef BOOST_CLOSURE_AUX_FUNCTION_HPP_
-# define BOOST_CLOSURE_AUX_FUNCTION_HPP_
+# ifndef BOOST_LOCAL_FUNCTION_AUX_FUNCTION_HPP_
+# define BOOST_LOCAL_FUNCTION_AUX_FUNCTION_HPP_
 
-# include <boost/closure/aux_/config.hpp>
-# include <boost/closure/aux_/member.hpp>
+# include <boost/local_function/config.hpp>
+# include <boost/local_function/aux_/config.hpp>
+# include <boost/local_function/aux_/member.hpp>
 # include <boost/call_traits.hpp>
 # include <boost/preprocessor/iteration/iterate.hpp>
 # include <boost/preprocessor/repetition/repeat.hpp>
@@ -21,118 +22,118 @@
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_FUNCTION_THIS_FILE_ \
- "boost/closure/aux_/function.hpp"
+#define BOOST_LOCAL_FUNCTION_AUX_FUNCTION_THIS_FILE_ \
+ "boost/local_function/aux_/function.hpp"
 
 // PUBLIC //
 
-#define BOOST_CLOSURE_AUX_FUNCTION_INIT_CALL_FUNC \
- BOOST_CLOSURE_AUX_SYMBOL( (init_call) )
+#define BOOST_LOCAL_FUNCTION_AUX_FUNCTION_INIT_CALL_FUNC \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (init_call) )
 
-#define BOOST_CLOSURE_AUX_arg_type(z, arg_n, unused) \
+#define BOOST_LOCAL_FUNCTION_AUX_arg_type(z, arg_n, unused) \
     BOOST_PP_CAT(A, arg_n)
 
-#define BOOST_CLOSURE_AUX_arg_typedef(z, arg_n, unused) \
+#define BOOST_LOCAL_FUNCTION_AUX_arg_typedef(z, arg_n, unused) \
     typedef \
- BOOST_CLOSURE_AUX_arg_type(z, arg_n, ~) \
+ BOOST_LOCAL_FUNCTION_AUX_arg_type(z, arg_n, ~) \
         /* name must follow Boost.FunctionTraits arg1_type, arg2_type, ... */ \
         BOOST_PP_CAT(BOOST_PP_CAT(arg, BOOST_PP_INC(arg_n)), _type) \
     ;
 
-#define BOOST_CLOSURE_AUX_comma_arg_tparam(z, arg_n, unused) \
- , typename BOOST_CLOSURE_AUX_arg_type(z, arg_n, ~)
+#define BOOST_LOCAL_FUNCTION_AUX_comma_arg_tparam(z, arg_n, unused) \
+ , typename BOOST_LOCAL_FUNCTION_AUX_arg_type(z, arg_n, ~)
 
-#define BOOST_CLOSURE_AUX_arg_param_type(z, arg_n, comma01) \
+#define BOOST_LOCAL_FUNCTION_AUX_arg_param_type(z, arg_n, comma01) \
     BOOST_PP_COMMA_IF(comma01) \
     typename ::boost::call_traits< \
- BOOST_CLOSURE_AUX_arg_type(z, arg_n, ~) \
+ BOOST_LOCAL_FUNCTION_AUX_arg_type(z, arg_n, ~) \
>::param_type
 
-#define BOOST_CLOSURE_AUX_arg_name(z, arg_n, comma01) \
+#define BOOST_LOCAL_FUNCTION_AUX_arg_name(z, arg_n, comma01) \
     BOOST_PP_COMMA_IF(comma01) \
     BOOST_PP_CAT(a, arg_n)
 
-#define BOOST_CLOSURE_AUX_arg_param_decl(z, arg_n, unused) \
- BOOST_CLOSURE_AUX_arg_param_type(z, arg_n, 0 /* no leading comma */) \
- BOOST_CLOSURE_AUX_arg_name(z, arg_n, 0 /* no leading comma */)
+#define BOOST_LOCAL_FUNCTION_AUX_arg_param_decl(z, arg_n, unused) \
+ BOOST_LOCAL_FUNCTION_AUX_arg_param_type(z, arg_n, 0 /* no leading comma */)\
+ BOOST_LOCAL_FUNCTION_AUX_arg_name(z, arg_n, 0 /* no leading comma */)
 
-#define BOOST_CLOSURE_AUX_bind_type(z, bind_n, unused) \
+#define BOOST_LOCAL_FUNCTION_AUX_bind_type(z, bind_n, unused) \
     BOOST_PP_CAT(B, bind_n)
 
-#define BOOST_CLOSURE_AUX_comma_bind_type(z, bind_n, unused) \
- , BOOST_CLOSURE_AUX_bind_type(z, bind_n, ~)
+#define BOOST_LOCAL_FUNCTION_AUX_comma_bind_type(z, bind_n, unused) \
+ , BOOST_LOCAL_FUNCTION_AUX_bind_type(z, bind_n, ~)
 
-#define BOOST_CLOSURE_AUX_comma_bind_ref(z, bind_n, unused) \
- , BOOST_CLOSURE_AUX_bind_type(z, bind_n, ~) &
+#define BOOST_LOCAL_FUNCTION_AUX_comma_bind_ref(z, bind_n, unused) \
+ , BOOST_LOCAL_FUNCTION_AUX_bind_type(z, bind_n, ~) &
 
-#define BOOST_CLOSURE_AUX_comma_bind_tparam(z, bind_n, unused) \
- , typename BOOST_CLOSURE_AUX_bind_type(z, bind_n, ~)
+#define BOOST_LOCAL_FUNCTION_AUX_comma_bind_tparam(z, bind_n, unused) \
+ , typename BOOST_LOCAL_FUNCTION_AUX_bind_type(z, bind_n, ~)
 
-#define BOOST_CLOSURE_AUX_bind_name(z, bind_n, unused) \
+#define BOOST_LOCAL_FUNCTION_AUX_bind_name(z, bind_n, unused) \
     BOOST_PP_CAT(b, bind_n)
 
-#define BOOST_CLOSURE_AUX_comma_bind_param_decl(z, bind_n, unused) \
+#define BOOST_LOCAL_FUNCTION_AUX_comma_bind_param_decl(z, bind_n, unused) \
     , \
- BOOST_CLOSURE_AUX_bind_type(z, bind_n, ~) & \
- BOOST_CLOSURE_AUX_bind_name(z, bind_n, ~)
+ BOOST_LOCAL_FUNCTION_AUX_bind_type(z, bind_n, ~) & \
+ BOOST_LOCAL_FUNCTION_AUX_bind_name(z, bind_n, ~)
     
-#define BOOST_CLOSURE_AUX_bind_member(z, bind_n, unsued) \
- BOOST_PP_CAT(BOOST_CLOSURE_AUX_bind_name(z, bind_n, ~), _)
+#define BOOST_LOCAL_FUNCTION_AUX_bind_member(z, bind_n, unsued) \
+ BOOST_PP_CAT(BOOST_LOCAL_FUNCTION_AUX_bind_name(z, bind_n, ~), _)
 
-#define BOOST_CLOSURE_AUX_comma_bind_member_deref(z, bind_n, unsued) \
- , member_deref<BOOST_CLOSURE_AUX_bind_type(z, bind_n, ~)>( \
- BOOST_CLOSURE_AUX_bind_member(z, bind_n, ~))
-
-#define BOOST_CLOSURE_AUX_bind_member_init(z, bind_n, unused) \
- BOOST_CLOSURE_AUX_bind_member(z, bind_n, ~) = member_addr( \
- BOOST_CLOSURE_AUX_bind_name(z, bind_n, ~));
+#define BOOST_LOCAL_FUNCTION_AUX_comma_bind_member_deref(z, bind_n, unsued) \
+ , member_deref< BOOST_LOCAL_FUNCTION_AUX_bind_type(z, bind_n, ~) >( \
+ BOOST_LOCAL_FUNCTION_AUX_bind_member(z, bind_n, ~))
+
+#define BOOST_LOCAL_FUNCTION_AUX_bind_member_init(z, bind_n, unused) \
+ BOOST_LOCAL_FUNCTION_AUX_bind_member(z, bind_n, ~) = member_addr( \
+ BOOST_LOCAL_FUNCTION_AUX_bind_name(z, bind_n, ~));
 
-#define BOOST_CLOSURE_AUX_bind_member_decl(z, bind_n, unused) \
+#define BOOST_LOCAL_FUNCTION_AUX_bind_member_decl(z, bind_n, unused) \
     /* must be ptr (not ref) so can use default constr */ \
- typename member_type< BOOST_CLOSURE_AUX_bind_type(z, bind_n, ~) >::pointer \
- BOOST_CLOSURE_AUX_bind_member(z, bind_n, ~) \
- ;
+ typename member_type< \
+ BOOST_LOCAL_FUNCTION_AUX_bind_type(z, bind_n, ~) \
+ >::pointer BOOST_LOCAL_FUNCTION_AUX_bind_member(z, bind_n, ~) ;
 
-#define BOOST_CLOSURE_AUX_call_ptr(z, n, unused) \
+#define BOOST_LOCAL_FUNCTION_AUX_call_ptr(z, n, unused) \
     BOOST_PP_CAT(call_ptr, n)
 
-#define BOOST_CLOSURE_AUX_call_name(z, n, unused) \
+#define BOOST_LOCAL_FUNCTION_AUX_call_name(z, n, unused) \
     BOOST_PP_CAT(call, n)
 
-#define BOOST_CLOSURE_AUX_call_member(z, n, unused) \
- BOOST_PP_CAT(BOOST_CLOSURE_AUX_call_name(z, n, unused), _)
+#define BOOST_LOCAL_FUNCTION_AUX_call_member(z, n, unused) \
+ BOOST_PP_CAT(BOOST_LOCAL_FUNCTION_AUX_call_name(z, n, unused), _)
 
-#define BOOST_CLOSURE_AUX_call_typedef(z, n, arity) \
- typedef R (*BOOST_CLOSURE_AUX_call_ptr(z, n, ~))( \
+#define BOOST_LOCAL_FUNCTION_AUX_call_typedef(z, n, arity) \
+ typedef R (*BOOST_LOCAL_FUNCTION_AUX_call_ptr(z, n, ~))( \
         object_ptr \
- BOOST_PP_IIF( \
- BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01, \
+ BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01, \
             BOOST_PP_TUPLE_EAT(3) \
         , \
             BOOST_PP_REPEAT_ ## z \
- )(BOOST_CLOSURE_CONFIG_BIND_MAX, BOOST_CLOSURE_AUX_comma_bind_ref, ~) \
+ )(BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX, \
+ BOOST_LOCAL_FUNCTION_AUX_comma_bind_ref, ~) \
         BOOST_PP_REPEAT_ ## z(BOOST_PP_SUB(arity, n), \
- BOOST_CLOSURE_AUX_arg_param_type, 1 /* leading comma */) \
+ BOOST_LOCAL_FUNCTION_AUX_arg_param_type, 1 /* leading comma */)\
     );
 
-#define BOOST_CLOSURE_AUX_comma_call_param_decl(z, n, unused) \
+#define BOOST_LOCAL_FUNCTION_AUX_comma_call_param_decl(z, n, unused) \
     , \
- BOOST_CLOSURE_AUX_call_ptr(z, n, ~) \
- BOOST_CLOSURE_AUX_call_name(z, n, ~)
+ BOOST_LOCAL_FUNCTION_AUX_call_ptr(z, n, ~) \
+ BOOST_LOCAL_FUNCTION_AUX_call_name(z, n, ~)
 
-#define BOOST_CLOSURE_AUX_call_decl(z, n, unused) \
- BOOST_CLOSURE_AUX_call_ptr(z, n, ~) \
- BOOST_CLOSURE_AUX_call_member(z, n, ~);
-
-#define BOOST_CLOSURE_AUX_call_init(z, n, unused) \
- BOOST_CLOSURE_AUX_call_member(z, n, ~) = \
- BOOST_CLOSURE_AUX_call_name(z, n, ~);
+#define BOOST_LOCAL_FUNCTION_AUX_call_decl(z, n, unused) \
+ BOOST_LOCAL_FUNCTION_AUX_call_ptr(z, n, ~) \
+ BOOST_LOCAL_FUNCTION_AUX_call_member(z, n, ~);
+
+#define BOOST_LOCAL_FUNCTION_AUX_call_init(z, n, unused) \
+ BOOST_LOCAL_FUNCTION_AUX_call_member(z, n, ~) = \
+ BOOST_LOCAL_FUNCTION_AUX_call_name(z, n, ~);
                 
-#define BOOST_CLOSURE_AUX_operator_call(z, defaults_n, arity) \
+#define BOOST_LOCAL_FUNCTION_AUX_operator_call(z, defaults_n, arity) \
     /* precondition: object_ && call_function_ */ \
     inline R operator()( \
         BOOST_PP_ENUM_ ## z(BOOST_PP_SUB(arity, defaults_n), \
- BOOST_CLOSURE_AUX_arg_param_decl, ~) \
+ BOOST_LOCAL_FUNCTION_AUX_arg_param_decl, ~) \
     ) /* cannot be const (because of binds) */ { \
         /* run-time: do not assert preconditions here for efficiency */ \
         /* run-time: this function call is done via a function pointer */ \
@@ -141,96 +142,96 @@
         /* investigated but also virtual functions cannot be optimized */ \
         /* plus they require virtual table lookups to the alternative */ \
         /* performed worst) */ \
- return BOOST_CLOSURE_AUX_call_member(z, defaults_n, ~)( \
+ return BOOST_LOCAL_FUNCTION_AUX_call_member(z, defaults_n, ~)( \
             object_ \
             BOOST_PP_IIF( \
- BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01,\
+ BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01,\
                 BOOST_PP_TUPLE_EAT(3) \
             , \
                 BOOST_PP_REPEAT_ ## z \
- )(BOOST_CLOSURE_CONFIG_BIND_MAX, \
- BOOST_CLOSURE_AUX_comma_bind_member_deref, ~) \
+ )(BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX, \
+ BOOST_LOCAL_FUNCTION_AUX_comma_bind_member_deref, ~) \
             BOOST_PP_REPEAT_ ## z(BOOST_PP_SUB(arity, defaults_n), \
- BOOST_CLOSURE_AUX_arg_name, 1 /* leading comma */) \
+ BOOST_LOCAL_FUNCTION_AUX_arg_name, 1 /* leading comma */) \
         ); \
     }
 
-namespace boost { namespace closure { namespace aux {
+namespace boost { namespace local_function { namespace aux {
 
 template<
       typename F
     , size_t defaults
-#if !BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01
- BOOST_PP_REPEAT(BOOST_CLOSURE_CONFIG_BIND_MAX,
- BOOST_CLOSURE_AUX_comma_bind_tparam, ~)
+#if !BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01
+ BOOST_PP_REPEAT(BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX,
+ BOOST_LOCAL_FUNCTION_AUX_comma_bind_tparam, ~)
 #endif
>
-class function {
- // Empty template cannot be used directly (only via its specializations).
-};
+class function {}; // Empty template, only use its specializations.
 
 // Iterate within namespace.
 # define BOOST_PP_ITERATION_PARAMS_1 \
- (3, (0, BOOST_CLOSURE_CONFIG_FUNCTION_ARITY_MAX, \
- BOOST_CLOSURE_AUX_FUNCTION_THIS_FILE_))
+ (3, (0, BOOST_LOCAL_FUNCTION_CONFIG_FUNCTION_ARITY_MAX, \
+ BOOST_LOCAL_FUNCTION_AUX_FUNCTION_THIS_FILE_))
 # include BOOST_PP_ITERATE() // Iterate over function arity.
 
-}}} // namespace boost::loca::aux
+} } } // namespace
 
-#undef BOOST_CLOSURE_AUX_arg_type
-#undef BOOST_CLOSURE_AUX_arg_typedef
-#undef BOOST_CLOSURE_AUX_comma_arg_tparam
-#undef BOOST_CLOSURE_AUX_arg_param_type
-#undef BOOST_CLOSURE_AUX_arg_name
-#undef BOOST_CLOSURE_AUX_arg_param_decl
-#undef BOOST_CLOSURE_AUX_bind_type
-#undef BOOST_CLOSURE_AUX_comma_bind_type
-#undef BOOST_CLOSURE_AUX_comma_bind_ref
-#undef BOOST_CLOSURE_AUX_comma_bind_tparam
-#undef BOOST_CLOSURE_AUX_bind_name
-#undef BOOST_CLOSURE_AUX_comma_bind_param_decl
-#undef BOOST_CLOSURE_AUX_bind_member
-#undef BOOST_CLOSURE_AUX_comma_bind_member_deref
-#undef BOOST_CLOSURE_AUX_bind_member_init
-#undef BOOST_CLOSURE_AUX_bind_member_decl
-#undef BOOST_CLOSURE_AUX_call_ptr
-#undef BOOST_CLOSURE_AUX_call_name
-#undef BOOST_CLOSURE_AUX_call_member
-#undef BOOST_CLOSURE_AUX_call_typedef
-#undef BOOST_CLOSURE_AUX_comma_call_param_decl
-#undef BOOST_CLOSURE_AUX_call_decl
-#undef BOOST_CLOSURE_AUX_call_init
-#undef BOOST_CLOSURE_AUX_operator_call
+#undef BOOST_LOCAL_FUNCTION_AUX_arg_type
+#undef BOOST_LOCAL_FUNCTION_AUX_arg_typedef
+#undef BOOST_LOCAL_FUNCTION_AUX_comma_arg_tparam
+#undef BOOST_LOCAL_FUNCTION_AUX_arg_param_type
+#undef BOOST_LOCAL_FUNCTION_AUX_arg_name
+#undef BOOST_LOCAL_FUNCTION_AUX_arg_param_decl
+#undef BOOST_LOCAL_FUNCTION_AUX_bind_type
+#undef BOOST_LOCAL_FUNCTION_AUX_comma_bind_type
+#undef BOOST_LOCAL_FUNCTION_AUX_comma_bind_ref
+#undef BOOST_LOCAL_FUNCTION_AUX_comma_bind_tparam
+#undef BOOST_LOCAL_FUNCTION_AUX_bind_name
+#undef BOOST_LOCAL_FUNCTION_AUX_comma_bind_param_decl
+#undef BOOST_LOCAL_FUNCTION_AUX_bind_member
+#undef BOOST_LOCAL_FUNCTION_AUX_comma_bind_member_deref
+#undef BOOST_LOCAL_FUNCTION_AUX_bind_member_init
+#undef BOOST_LOCAL_FUNCTION_AUX_bind_member_decl
+#undef BOOST_LOCAL_FUNCTION_AUX_call_ptr
+#undef BOOST_LOCAL_FUNCTION_AUX_call_name
+#undef BOOST_LOCAL_FUNCTION_AUX_call_member
+#undef BOOST_LOCAL_FUNCTION_AUX_call_typedef
+#undef BOOST_LOCAL_FUNCTION_AUX_comma_call_param_decl
+#undef BOOST_LOCAL_FUNCTION_AUX_call_decl
+#undef BOOST_LOCAL_FUNCTION_AUX_call_init
+#undef BOOST_LOCAL_FUNCTION_AUX_operator_call
 
 # endif // #include guard
 
 #elif BOOST_PP_ITERATION_DEPTH() == 1
-# define BOOST_CLOSURE_AUX_arity BOOST_PP_FRAME_ITERATION(1)
+# define BOOST_LOCAL_FUNCTION_AUX_arity BOOST_PP_FRAME_ITERATION(1)
 # define BOOST_PP_ITERATION_PARAMS_2 \
- (3, (0, BOOST_CLOSURE_AUX_arity, \
- BOOST_CLOSURE_AUX_FUNCTION_THIS_FILE_))
+ (3, (0, BOOST_LOCAL_FUNCTION_AUX_arity, \
+ BOOST_LOCAL_FUNCTION_AUX_FUNCTION_THIS_FILE_))
 # include BOOST_PP_ITERATE() // Iterate over default params count.
-# undef BOOST_CLOSURE_AUX_arity
+# undef BOOST_LOCAL_FUNCTION_AUX_arity
 
 #elif BOOST_PP_ITERATION_DEPTH() == 2
-# define BOOST_CLOSURE_AUX_defaults BOOST_PP_FRAME_ITERATION(2)
+# define BOOST_LOCAL_FUNCTION_AUX_defaults BOOST_PP_FRAME_ITERATION(2)
 
-// Iterating within namespace `boost::closure::aux`.
 template<
     typename R
- BOOST_PP_REPEAT(BOOST_CLOSURE_AUX_arity,
- BOOST_CLOSURE_AUX_comma_arg_tparam, ~)
-#if !BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01
- BOOST_PP_REPEAT(BOOST_CLOSURE_CONFIG_BIND_MAX,
- BOOST_CLOSURE_AUX_comma_bind_tparam, ~)
+ BOOST_PP_REPEAT(BOOST_LOCAL_FUNCTION_AUX_arity,
+ BOOST_LOCAL_FUNCTION_AUX_comma_arg_tparam, ~)
+#if !BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01
+ BOOST_PP_REPEAT(BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX,
+ BOOST_LOCAL_FUNCTION_AUX_comma_bind_tparam, ~)
 #endif
>
 class function<
- R (BOOST_PP_ENUM(BOOST_CLOSURE_AUX_arity, BOOST_CLOSURE_AUX_arg_type, ~))
- , BOOST_CLOSURE_AUX_defaults
-#if !BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01
- BOOST_PP_REPEAT(BOOST_CLOSURE_CONFIG_BIND_MAX,
- BOOST_CLOSURE_AUX_comma_bind_type, ~)
+ R (
+ BOOST_PP_ENUM(BOOST_LOCAL_FUNCTION_AUX_arity,
+ BOOST_LOCAL_FUNCTION_AUX_arg_type, ~)
+ )
+ , BOOST_LOCAL_FUNCTION_AUX_defaults
+#if !BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01
+ BOOST_PP_REPEAT(BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX,
+ BOOST_LOCAL_FUNCTION_AUX_comma_bind_type, ~)
 #endif
> {
     // The object type will actually be a local class which cannot be passed as
@@ -245,55 +246,59 @@
     // require virtual tables lookups so the virtual functions trick measured
     // worst run-time performance than the function pointer trick).
     typedef void* object_ptr;
- BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_CLOSURE_AUX_defaults), // INC so no dflt.
- BOOST_CLOSURE_AUX_call_typedef, BOOST_CLOSURE_AUX_arity)
+ BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_LOCAL_FUNCTION_AUX_defaults),
+ BOOST_LOCAL_FUNCTION_AUX_call_typedef, // INC for no defaults.
+ BOOST_LOCAL_FUNCTION_AUX_arity)
 
 public:
     // Provide public type interface following Boost.Function names
     // (traits must be defined in both this and the local functor).
- enum { arity = BOOST_CLOSURE_AUX_arity }; // More portable than static data.
+ /** @todo use BOOST_STATIC_CONST or similar */
+ enum { arity = BOOST_LOCAL_FUNCTION_AUX_arity };
     typedef R result_type;
- BOOST_PP_REPEAT(BOOST_CLOSURE_AUX_arity, BOOST_CLOSURE_AUX_arg_typedef, ~)
+ BOOST_PP_REPEAT(BOOST_LOCAL_FUNCTION_AUX_arity,
+ BOOST_LOCAL_FUNCTION_AUX_arg_typedef, ~)
 
     // NOTE: Must have default constructor for init without function name in
     // function macro expansion.
 
     // Cannot be private but it should never be used by programmers directly
     // so used internal symbol.
- inline void BOOST_CLOSURE_AUX_FUNCTION_INIT_CALL_FUNC(
+ inline void BOOST_LOCAL_FUNCTION_AUX_FUNCTION_INIT_CALL_FUNC(
         object_ptr object
-#if !BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01
- BOOST_PP_REPEAT(BOOST_CLOSURE_CONFIG_BIND_MAX,
- BOOST_CLOSURE_AUX_comma_bind_param_decl, ~)
+#if !BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01
+ BOOST_PP_REPEAT(BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX,
+ BOOST_LOCAL_FUNCTION_AUX_comma_bind_param_decl, ~)
 #endif
- BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_CLOSURE_AUX_defaults),// INC no dflt.
- BOOST_CLOSURE_AUX_comma_call_param_decl, ~)
+ BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_LOCAL_FUNCTION_AUX_defaults),
+ BOOST_LOCAL_FUNCTION_AUX_comma_call_param_decl, ~)
     ) {
         object_ = object;
-#if !BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01
- BOOST_PP_REPEAT(BOOST_CLOSURE_CONFIG_BIND_MAX,
- BOOST_CLOSURE_AUX_bind_member_init, ~)
+#if !BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01
+ BOOST_PP_REPEAT(BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX,
+ BOOST_LOCAL_FUNCTION_AUX_bind_member_init, ~)
 #endif
- BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_CLOSURE_AUX_defaults),
- BOOST_CLOSURE_AUX_call_init, ~)
+ BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_LOCAL_FUNCTION_AUX_defaults),
+ BOOST_LOCAL_FUNCTION_AUX_call_init, ~) // INC for no defaults.
     }
     
     // Result operator(Arg1, ..., ArgN-1, ArgN) -- iff defaults >= 0
     // Result operator(Arg1, ..., ArgN-1) -- iff defaults >= 1
     // ... -- etc
- BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_CLOSURE_AUX_defaults), // INC no dflt.
- BOOST_CLOSURE_AUX_operator_call, BOOST_CLOSURE_AUX_arity)
+ BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_LOCAL_FUNCTION_AUX_defaults),
+ BOOST_LOCAL_FUNCTION_AUX_operator_call, // INC for no defaults.
+ BOOST_LOCAL_FUNCTION_AUX_arity)
 
 private:
     object_ptr object_;
-#if !BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01
- BOOST_PP_REPEAT(BOOST_CLOSURE_CONFIG_BIND_MAX,
- BOOST_CLOSURE_AUX_bind_member_decl, ~)
+#if !BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01
+ BOOST_PP_REPEAT(BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX,
+ BOOST_LOCAL_FUNCTION_AUX_bind_member_decl, ~)
 #endif
- BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_CLOSURE_AUX_defaults), // INC no dflt.
- BOOST_CLOSURE_AUX_call_decl, ~)
+ BOOST_PP_REPEAT(BOOST_PP_INC(BOOST_LOCAL_FUNCTION_AUX_defaults),
+ BOOST_LOCAL_FUNCTION_AUX_call_decl, ~) // INC for no defaults.
 };
 
-# undef BOOST_CLOSURE_AUX_defaults
+# undef BOOST_LOCAL_FUNCTION_AUX_defaults
 #endif // iteration
 

Deleted: sandbox/closure/boost/local_function/aux_/macro/closure.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/macro/closure.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
+++ (empty file)
@@ -1,66 +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_CLOSURE_AUX_CLOSURE_HPP_
-#define BOOST_CLOSURE_AUX_CLOSURE_HPP_
-
-#include <boost/closure/aux_/macro/code_/result.hpp>
-#include <boost/closure/aux_/macro/code_/bind.hpp>
-#include <boost/closure/aux_/macro/code_/functor.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_error.hpp>
-#include <boost/scope_exit.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/preprocessor/control/iif.hpp>
-#include <boost/preprocessor/facilities/is_empty.hpp>
-#include <boost/preprocessor/list/adt.hpp>
-#include <boost/preprocessor/tuple/eat.hpp>
-
-/** @todo double check all includes */
-/** @todo add copyright to all files, docs, examples, tests, etc- careful with ScopeExit */
-
-// PRIVATE //
-
-#define BOOST_CLOSURE_AUX_CLOSURE_OK_(id, typename01, decl_traits) \
- BOOST_CLOSURE_AUX_CODE_RESULT(id, typename01, decl_traits) \
- BOOST_CLOSURE_AUX_CODE_BIND(id, typename01, decl_traits) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR(id, typename01, decl_traits)
-
-#define BOOST_CLOSURE_AUX_CLOSURE_ERROR_(id, typename01, decl_traits) \
- BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS(decl_traits)), \
- /* return specified, so no result type before this macro expansion */ \
- BOOST_PP_TUPLE_EAT(1) \
- , \
- /* even if error, must declare result type to prevent additional */ \
- /* error due to result type appearing before this macro expansion */ \
- BOOST_CLOSURE_AUX_CODE_RESULT_DECL \
- )(id) \
- ; /* close eventual previous statements, otherwise it has no effect */ \
- BOOST_MPL_ASSERT_MSG(false, /* always fails (there's an error) */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR_MSG(decl_traits), ()) \
- ; /* must close ASSERT macro for eventual use within class scope */
-
-// PUBLIC //
-
-#define BOOST_CLOSURE_AUX_CLOSURE_ARGS_VAR \
- BOOST_CLOSURE_AUX_SYMBOL( (args) )
-
-// Undefine local function bound args global variable. Actual declaration of
-// this variable is made using SFINAE mechanisms by each local function macro.
-extern boost::scope_exit::detail::undeclared BOOST_CLOSURE_AUX_CLOSURE_ARGS_VAR;
-
-// sign_params: parsed parenthesized params.
-#define BOOST_CLOSURE_AUX_CLOSURE(id, typename01, decl_traits) \
- BOOST_PP_IIF(BOOST_PP_IS_EMPTY( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR_MSG(decl_traits)), \
- BOOST_CLOSURE_AUX_CLOSURE_OK_ \
- , \
- BOOST_CLOSURE_AUX_CLOSURE_ERROR_ \
- )(id, typename01, decl_traits)
-
-#endif // #include guard
-

Deleted: sandbox/closure/boost/local_function/aux_/macro/closure_end.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/macro/closure_end.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
+++ (empty file)
@@ -1,18 +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_CLOSURE_AUX_CLOSURE_END_HPP_
-#define BOOST_CLOSURE_AUX_CLOSURE_END_HPP_
-
-#include <boost/closure/aux_/macro/code_/end.hpp>
-
-// PUBLIC //
-
-#define BOOST_CLOSURE_AUX_CLOSURE_END(qualified_name) \
- BOOST_CLOSURE_AUX_CODE_END(qualified_name)
-
-#endif // #include guard
-

Deleted: sandbox/closure/boost/local_function/aux_/macro/closure_typeof.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/macro/closure_typeof.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
+++ (empty file)
@@ -1,16 +0,0 @@
-
-#ifndef BOOST_CLOSURE_AUX_CLOSURE_TYPEOF_HPP_
-#define BOOST_CLOSURE_AUX_CLOSURE_TYPEOF_HPP_
-
-#include <boost/closure/aux_/symbol.hpp>
-
-// PUBLIC //
-
-// Actual type-name for specified symbol name.
-#define BOOST_CLOSURE_AUX_CLOSURE_TYPEOF_TYPE(name) \
- /* cannot prefix in front of name because it could start with non */ \
- /* alphanumeric symbols (e.g., & for binding by reference) */ \
- BOOST_CLOSURE_AUX_SYMBOL_POSTFIX( (name)(typeof_type) )
-
-#endif // #include guard
-

Modified: sandbox/closure/boost/local_function/aux_/macro/code_/bind.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/macro/code_/bind.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/macro/code_/bind.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,14 +4,15 @@
 // 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_CLOSURE_AUX_CODE_BIND_HPP_
-#define BOOST_CLOSURE_AUX_CODE_BIND_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_HPP_
 
-#include <boost/closure/aux_/symbol.hpp>
-#include <boost/closure/aux_/preprocessor/traits/bind.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_binds.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_const_binds.hpp>
-#include <boost/utility/identity.hpp>
+#include <boost/local_function/aux_/symbol.hpp>
+#include <boost/local_function/aux_/macro/decl.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/bind.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_binds.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_const_binds.hpp>
+#include <boost/utility/identity_type.hpp>
 #include <boost/scope_exit.hpp>
 #include <boost/type_traits/remove_reference.hpp>
 #include <boost/type_traits/function_traits.hpp>
@@ -30,14 +31,15 @@
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_PARAMS_VAR_(id) \
- BOOST_CLOSURE_AUX_SYMBOL( (params)(id) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_PARAMS_VAR_(id) \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (params)(id) )
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_TAG_DECL_(r, id, i, bind_traits) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_TAG_DECL_(r, id, i, bind_traits) \
     BOOST_SCOPE_EXIT_DETAIL_TAG_DECL(r, id, i, \
- BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE(bind_traits))
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
+ bind_traits))
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_CAPTURE_DECL_TYPED_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_CAPTURE_DECL_TYPED_( \
         r, id, typename01, i, bind_traits) \
     typedef BOOST_PP_EXPR_IIF(typename01, typename) \
         /* remove ref because typed var can have & prefix */ \
@@ -45,16 +47,16 @@
             ::boost::function_traits< \
                 /* instead of using Boost.Typeof, get bind type as 1st */ \
                 /* argument type of func type `void (type_ [&] var_)` */ \
- void ( BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITH_TYPE( \
+ void ( BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITH_TYPE( \
                         bind_traits) ) \
>::arg1_type \
>::type \
         BOOST_SCOPE_EXIT_DETAIL_CAPTURE_T(id, i, \
- BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
                         bind_traits)) \
     ; /* close typedef */
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_CAPTURE_DECL_DEDUCED_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_CAPTURE_DECL_DEDUCED_( \
         r, id, typename01, i, bind_traits) \
     BOOST_SCOPE_EXIT_DETAIL_CAPTURE_DECL(r, \
             ( \
@@ -67,19 +69,20 @@
                     BOOST_PP_EMPTY \
                 )() \
             ), \
- i, BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE(bind_traits))
+ i, BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
+ bind_traits))
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_CAPTURE_DECL_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_CAPTURE_DECL_( \
         r, id_typename, i, bind_traits) \
     BOOST_PP_IIF(BOOST_PP_IS_EMPTY( \
- BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITH_TYPE(bind_traits)), \
- BOOST_CLOSURE_AUX_CODE_BIND_CAPTURE_DECL_DEDUCED_ \
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITH_TYPE(bind_traits)), \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_CAPTURE_DECL_DEDUCED_ \
     , \
- BOOST_CLOSURE_AUX_CODE_BIND_CAPTURE_DECL_TYPED_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_CAPTURE_DECL_TYPED_ \
     )(r, BOOST_PP_TUPLE_ELEM(2, 0, id_typename), \
             BOOST_PP_TUPLE_ELEM(2, 1, id_typename), i, bind_traits)
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_PARAM_DECL_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_PARAM_DECL_( \
         r, id_typename, i, bind_traits) \
     BOOST_SCOPE_EXIT_DETAIL_PARAM_DECL(r, \
             ( \
@@ -92,9 +95,10 @@
                     BOOST_PP_EMPTY \
                 )() \
             ), \
- i, BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE(bind_traits))
+ i, BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
+ bind_traits))
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_MEMBER_DECL_VAR_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_MEMBER_DECL_VAR_( \
         r, id, typename01, i, var) \
     BOOST_PP_EXPR_IIF(typename01, typename) \
     BOOST_IDENTITY_TYPE(( /* must use IDENTITY because of tparam comma */ \
@@ -105,63 +109,70 @@
     )) \
     BOOST_SCOPE_EXIT_DETAIL_PARAM(id, i, var);
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_MEMBER_DECL_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_MEMBER_DECL_( \
         r, id_typename, i, bind_traits) \
- BOOST_CLOSURE_AUX_CODE_BIND_MEMBER_DECL_VAR_(r, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_MEMBER_DECL_VAR_(r, \
             BOOST_PP_TUPLE_ELEM(2, 0, id_typename), \
             BOOST_PP_TUPLE_ELEM(2, 1, id_typename), \
- i, BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE(bind_traits))
+ i, BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
+ bind_traits))
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_PARAM_INIT_(r, id, i, bind_traits) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_PARAM_INIT_(r, id, i, bind_traits) \
     BOOST_SCOPE_EXIT_DETAIL_PARAM_INIT(r, id, i, \
- BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE(bind_traits))
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
+ bind_traits))
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPEDEF_DEDUCED_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPEDEF_DEDUCED_( \
         id, all_bind_this_types) \
     BOOST_SCOPE_EXIT_DETAIL_TYPEDEF_TYPEOF_THIS(id, \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPE(id))
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPE(id))
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPEDEF_TYPED_(all_bind_this_types) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPEDEF_TYPED_( \
+ id, all_bind_this_types) \
     typedef \
- BOOST_CLOSURE_AUX_PP_BIND_TRAITS_THIS_TYPE(BOOST_PP_LIST_FIRST( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_THIS_TYPE(BOOST_PP_LIST_FIRST( \
                 all_bind_this_types)) \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPE(id) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPE(id) \
     ;
     
-#define BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPEDEF_(id, all_bind_this_types) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPEDEF_( \
+ id, all_bind_this_types) \
     /* typedef type_ */ \
- BOOST_PP_IIF(BOOST_PP_IS_EMPTY(BOOST_CLOSURE_AUX_PP_BIND_TRAITS_THIS_TYPE( \
+ BOOST_PP_IIF(BOOST_PP_IS_EMPTY( \
             /* all_bind_this_type is list with 1 elem (possibly PP_EMPTY), */ \
             /* otherwise got a pp-parsing error before getting here */ \
- BOOST_PP_LIST_FIRST(all_bind_this_types))), \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPEDEF_DEDUCED_ \
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_THIS_TYPE( \
+ BOOST_PP_LIST_FIRST(all_bind_this_types))), \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPEDEF_DEDUCED_ \
     , \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPEDEF_TYPED_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPEDEF_TYPED_ \
     )(id, all_bind_this_types)
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_ALL_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_ALL_( \
         all_binds, all_bind_this_types, id, typename01) \
     /* binding tags */ \
     BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(all_bind_this_types), \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPEDEF_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPEDEF_ \
     , \
         BOOST_PP_TUPLE_EAT(2) \
     )(id, all_bind_this_types) \
- BOOST_PP_LIST_FOR_EACH_I(BOOST_CLOSURE_AUX_CODE_BIND_TAG_DECL_, id, \
+ BOOST_PP_LIST_FOR_EACH_I(BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_TAG_DECL_, id, \
             all_binds) \
- BOOST_PP_LIST_FOR_EACH_I(BOOST_CLOSURE_AUX_CODE_BIND_CAPTURE_DECL_, \
+ BOOST_PP_LIST_FOR_EACH_I(BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_CAPTURE_DECL_, \
             (id, typename01), all_binds) \
     /* binding class */ \
     struct BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(id) { \
         BOOST_PP_EXPR_IIF(BOOST_PP_LIST_IS_CONS(all_bind_this_types), \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPE(id) \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_VAR; \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPE(id) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_VAR; \
         ) \
- BOOST_PP_LIST_FOR_EACH_I(BOOST_CLOSURE_AUX_CODE_BIND_PARAM_DECL_, \
+ BOOST_PP_LIST_FOR_EACH_I( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_PARAM_DECL_, \
                 (id, typename01), all_binds) \
- BOOST_PP_LIST_FOR_EACH_I(BOOST_CLOSURE_AUX_CODE_BIND_MEMBER_DECL_, \
+ BOOST_PP_LIST_FOR_EACH_I( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_MEMBER_DECL_, \
                 (id, typename01), all_binds) \
- } BOOST_CLOSURE_AUX_CODE_BIND_PARAMS_VAR_(id) = \
+ } BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_PARAMS_VAR_(id) = \
     /* NOTE: there is no way to wrap member initializer commas within */ \
     /* parenthesis so you must handle these commas manually if expanding */ \
     /* this macro within another macro */ \
@@ -173,41 +184,42 @@
               BOOST_PP_LIST_IS_CONS(all_bind_this_types) \
             , BOOST_PP_LIST_IS_CONS(all_binds) \
         )) \
- BOOST_PP_LIST_FOR_EACH_I(BOOST_CLOSURE_AUX_CODE_BIND_PARAM_INIT_, id, \
- all_binds) \
+ BOOST_PP_LIST_FOR_EACH_I( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_PARAM_INIT_, id, all_binds) \
     };
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_(id, typename01, decl_traits) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_(id, typename01, decl_traits) \
     /* IMPORTANT: the order of these appends is important, it must follow */ \
     /* the indexing order used by the functor code which starts */ \
     /* enumerating const binds and then non-const binds */ \
- BOOST_CLOSURE_AUX_CODE_BIND_ALL_( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_ALL_( \
             BOOST_PP_LIST_APPEND( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits),\
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BINDS(decl_traits)), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS( \
+ decl_traits),\
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS( \
+ decl_traits)), \
             BOOST_PP_LIST_APPEND( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
- decl_traits), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES(decl_traits), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES( \
                             decl_traits)), \
             id, typename01)
 
 // PUBLIC //
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPE(id) \
- BOOST_CLOSURE_AUX_SYMBOL( (this_type)(id) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPE(id) \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (this_type)(id) )
 
-#define BOOST_CLOSURE_AUX_CODE_BIND_THIS_VAR \
- BOOST_CLOSURE_AUX_SYMBOL( (this_var) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_VAR \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (this_var) )
 
-#define BOOST_CLOSURE_AUX_CODE_BIND(id, typename01, decl_traits) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_BIND(id, typename01, decl_traits) \
     /* the binding data structures must be declared and initialized (to */ \
     /* empty structs, so hopefully the compiler will optimize away the */ \
     /* no-op code) even when there is no bound param because these structs */ \
     /* are used to init `...args.value` which is always used by the `END` */ \
     /* macro later because this macro does not know if there are bound */ \
     /* params or not */ \
- BOOST_CLOSURE_AUX_CODE_BIND_(id, typename01, decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_(id, typename01, decl_traits) \
     /* this code takes advantage of the template argument list/comparison */ \
     /* operator ambiguity to declare a variable iff it hasn't already been */ \
     /* declared in that scope; the second occurrence is parsed as: */ \
@@ -220,12 +232,12 @@
         /* functions (and exits) within the same scope (however this */ \
         /* does not allow for nesting because local variables cannot be */ \
         /* used in nested code blocks) */ \
- sizeof(BOOST_CLOSURE_AUX_CLOSURE_ARGS_VAR) \
- >::cmp1<0>::cmp2 > BOOST_CLOSURE_AUX_CLOSURE_ARGS_VAR; \
+ sizeof(BOOST_LOCAL_FUNCTION_AUX_DECL_ARGS_VAR) \
+ >::cmp1<0>::cmp2 > BOOST_LOCAL_FUNCTION_AUX_DECL_ARGS_VAR; \
     /* stores bound types/values into `...args` variable (args variable */ \
     /* can be accessed by `NAME` macro because doesn't use __LINE__ id) */ \
- BOOST_CLOSURE_AUX_CLOSURE_ARGS_VAR.value = \
- &BOOST_CLOSURE_AUX_CODE_BIND_PARAMS_VAR_(id);
+ BOOST_LOCAL_FUNCTION_AUX_DECL_ARGS_VAR.value = \
+ &BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_PARAMS_VAR_(id);
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/macro/code_/functor.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/macro/code_/functor.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/macro/code_/functor.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,26 +4,26 @@
 // 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_CLOSURE_AUX_CODE_FUNCTOR_HPP_
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_HPP_
 
-#include <boost/closure/aux_/symbol.hpp>
-#include <boost/closure/aux_/config.hpp>
-#include <boost/closure/aux_/function.hpp>
-#include <boost/closure/aux_/add_pointed_const.hpp>
-#include <boost/closure/aux_/member.hpp>
-#include <boost/closure/aux_/nobind.hpp>
-#include <boost/closure/aux_/macro/closure.hpp>
-#include <boost/closure/aux_/macro/closure_typeof.hpp>
-#include <boost/closure/aux_/macro/code_/result.hpp>
-#include <boost/closure/aux_/macro/code_/bind.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_params.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_binds.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_const_binds.hpp>
-#include <boost/closure/detail/preprocessor/keyword/auto.hpp>
-#include <boost/closure/detail/preprocessor/keyword/register.hpp>
-#include <boost/closure/detail/preprocessor/keyword/thisunderscore.hpp>
-#include <boost/utility/identity.hpp>
+#include <boost/local_function/aux_/symbol.hpp>
+#include <boost/local_function/aux_/config.hpp>
+#include <boost/local_function/aux_/function.hpp>
+#include <boost/local_function/aux_/add_pointed_const.hpp>
+#include <boost/local_function/aux_/member.hpp>
+#include <boost/local_function/aux_/nobind.hpp>
+#include <boost/local_function/aux_/macro/decl.hpp>
+#include <boost/local_function/aux_/macro/typeof.hpp>
+#include <boost/local_function/aux_/macro/code_/result.hpp>
+#include <boost/local_function/aux_/macro/code_/bind.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_params.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_binds.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_const_binds.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/auto.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/register.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/thisunderscore.hpp>
+#include <boost/utility/identity_type.hpp>
 #include <boost/scope_exit.hpp>
 #include <boost/type_traits/add_const.hpp>
 #include <boost/preprocessor/cat.hpp>
@@ -52,119 +52,121 @@
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_CLASS_TYPE_(id) \
- BOOST_CLOSURE_AUX_SYMBOL( (functor)(id) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CLASS_TYPE_(id) \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (functor)(id) )
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_F_TYPE_ \
- BOOST_CLOSURE_AUX_SYMBOL( (function_type) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_F_TYPE_ \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (function_type) )
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_BODY_FUNC_ \
- BOOST_CLOSURE_AUX_SYMBOL( (body) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BODY_FUNC_ \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (body) )
 
 // Unbind parameters.
 
 // i: 1 for 1st param, 2 for 2nd, ... (start from 1 not 0).
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_(i) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_(i) \
     /* this must be a generic parameter name because type and name */ \
     /* are not separate tokens in the macro syntax so name is not available */ \
     /* separately from its type */ \
     BOOST_PP_CAT(arg, i)
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_ENUM_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_ENUM_( \
         r, unused, i, param_traits) \
     BOOST_PP_COMMA_IF(i) /* enumeration commas */ \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_(BOOST_PP_INC(i))
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_(BOOST_PP_INC(i))
 
 // i: 1 for 1st param, 2 for 2nd, ... (start from 1 not 0).
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_TYPE_(typename01, i) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_TYPE_(typename01, i) \
     /* the parameter type must be accessed using function traits from */ \
     /* function type because it is not available to the macro syntax */ \
     /* separately from the parameter name */ \
     BOOST_PP_EXPR_IIF(typename01, typename) \
     ::boost::function_traits< \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_F_TYPE_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_F_TYPE_ \
>::BOOST_PP_CAT(BOOST_PP_CAT(arg, i), _type) \
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_ARG_TYPEDEF_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_ARG_TYPEDEF_( \
         r, typename01, i, param_traits) \
     typedef \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_TYPE_(typename01, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_TYPE_(typename01, \
                 BOOST_PP_INC(i)) \
         /* name must follow Boost.FunctionTraits arg1_type, arg2_type, ... */ \
         BOOST_PP_CAT(BOOST_PP_CAT(arg, BOOST_PP_INC(i)), _type) \
     ;
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_DECL_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_DECL_( \
         r, typename01, i, param_traits) \
     BOOST_PP_EXPR_IIF(typename01, typename) \
     ::boost::call_traits< \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_TYPE_(typename01, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_TYPE_(typename01, \
                 BOOST_PP_INC(i)) \
>::param_type \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_(BOOST_PP_INC(i))
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_(BOOST_PP_INC(i))
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_DECL_ENUM_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_DECL_ENUM_( \
         r, typename01, i, param_traits) \
     BOOST_PP_COMMA_IF(i) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_DECL_(r, typename01, i, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_DECL_(r, typename01, i, \
             param_traits)
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_PARAM_ARG_DECL_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_PARAM_ARG_DECL_( \
         r, typename01, i, param_traits) \
- , BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_DECL_(r, typename01, i, \
+ , BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_DECL_(r, typename01, i, \
             param_traits)
 
 // Precondition: !EMPTY(DEFAULT(param_traits))
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_DEFAULT_ASSIGNMENT_(param_traits) \
- = BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_FRONT( \
- BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_DEFAULT(param_traits))
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_DEFAULT_ASSIGNMENT_( \
+ param_traits) \
+ = BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_FRONT( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_DEFAULT(param_traits))
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_DECL_ENUM_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_DECL_ENUM_( \
         r, default01, i, param_traits) \
     BOOST_PP_COMMA_IF(i) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_REMOVE_BACK( \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_REMOVE_BACK( \
- BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_DECL(param_traits) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_REMOVE_BACK( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_REMOVE_BACK( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_DECL(param_traits) \
     )) \
     BOOST_PP_IIF(BOOST_PP_COMPL(default01), \
         BOOST_PP_TUPLE_EAT(1) /* without default */ \
     , BOOST_PP_IIF(BOOST_PP_IS_EMPTY( \
- BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_DEFAULT(param_traits)), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_DEFAULT(param_traits)), \
         BOOST_PP_TUPLE_EAT(1) /* has no default */ \
     , /* else, with default and has default */ \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_DEFAULT_ASSIGNMENT_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_DEFAULT_ASSIGNMENT_ \
     ))(param_traits)
 
 // Bound parameters.
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAMS_ \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAMS_ \
     bind_params /* constructor void* param */
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_VAR_(i) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_VAR_(i) \
     /* named `bind0`, `bind1`, ... */ \
- BOOST_CLOSURE_AUX_SYMBOL( (bind)(i) )
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (bind)(i) )
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_MEMBER_THIS_ \
- BOOST_CLOSURE_AUX_SYMBOL( (bind_this) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_MEMBER_THIS_ \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (bind_this) )
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_STATIC_BIND_MEMBER_THIS_(id) \
- , static_cast< BOOST_CLOSURE_AUX_CODE_FUNCTOR_CLASS_TYPE_(id)* >(object)-> \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_MEMBER_THIS_
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_STATIC_BIND_MEMBER_THIS_( \
+ id) \
+ , static_cast< BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CLASS_TYPE_(id)* >( \
+ object)->BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_MEMBER_THIS_
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_TYPE_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_TYPE_( \
         id, typename01, offset, i, bind_var_without_type) \
     BOOST_PP_EXPR_IIF(typename01, typename) \
     BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(id):: \
     BOOST_SCOPE_EXIT_DETAIL_PARAM_T(id, BOOST_PP_ADD(i, offset), \
             bind_var_without_type) \
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_MEMBER_BIND_ENUM_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_MEMBER_BIND_ENUM_( \
         r, offset, i, bind_traits) \
     BOOST_PP_COMMA_IF(i) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_VAR_( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_VAR_( \
             BOOST_PP_ADD(offset, i))
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_TYPE_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_TYPE_( \
         r, id_typename_offset_const, i, bind_var_without_type) \
     /* IMPORTANT: here can't use `PP_KEYWORD_IS_THISUNDERSCORE_FRONT()` */ \
     /* because some `param_name` might start with non-alphanumeric symbol */ \
@@ -175,14 +177,15 @@
     BOOST_PP_IIF(BOOST_PP_COMPL(BOOST_PP_TUPLE_ELEM(4, 3, \
             id_typename_offset_const)), \
         BOOST_PP_EMPTY \
- , BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK( \
- bind_var_without_type), \
+ , BOOST_PP_IIF( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK( \
+ bind_var_without_type), \
         /* pointed obj const */ \
- BOOST_PP_IDENTITY( ::boost::closure::aux::add_pointed_const< ) \
+ BOOST_PP_IDENTITY( ::boost::local_function::aux::add_pointed_const< ) \
     , \
         BOOST_PP_IDENTITY( ::boost::add_const< ) /* outer type const */ \
     ))() \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_TYPE_( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_TYPE_( \
             BOOST_PP_TUPLE_ELEM(4, 0, id_typename_offset_const), \
             BOOST_PP_TUPLE_ELEM(4, 1, id_typename_offset_const), \
             BOOST_PP_TUPLE_ELEM(4, 2, id_typename_offset_const), \
@@ -191,138 +194,148 @@
>::type \
     )
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_( \
         r, id_typename_offset_const, i, bind_var_without_type) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_TYPE_( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_TYPE_( \
             r, id_typename_offset_const, i, bind_var_without_type) \
- BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK( \
- BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
- bind_var_without_type)), \
+ BOOST_PP_IIF( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
+ bind_var_without_type)), \
         this_ BOOST_PP_TUPLE_EAT(1) \
     , \
         BOOST_PP_TUPLE_REM(1) \
     )(bind_var_without_type)
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_BIND_TYPE_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_BIND_TYPE_( \
         r, id_typename_offset_const, i, bind_traits) \
- , BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_TYPE_( \
+ , BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_TYPE_( \
             r, id_typename_offset_const, i, \
- BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE(bind_traits))
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
+ bind_traits))
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_PARAM_(offset, i) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_PARAM_( \
+ offset, i) \
     BOOST_PP_CAT(bind, BOOST_PP_ADD(offset, i))
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_PARAM_ENUM_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_PARAM_ENUM_( \
         r, offset, i, bind_traits) \
     BOOST_PP_COMMA_IF(i) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_PARAM_(offset, i)
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_PARAM_(offset, i)
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_BIND_PARAM_DECL_( \
+#define \
+BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_BIND_PARAM_DECL_( \
         r, id_typename_offset_const, i, bind_traits) \
- , BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_TYPE_( \
+ , BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_TYPE_( \
             r, id_typename_offset_const, i, \
- BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE(bind_traits)) & \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_PARAM_( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
+ bind_traits)) & \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_PARAM_( \
             BOOST_PP_TUPLE_ELEM(4, 2, id_typename_offset_const), i)
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_BIND_THIS_TYPE_(id) \
- , BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPE(id)
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_BIND_THIS_TYPE_(id) \
+ , BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPE(id)
       
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_THIS_PARAM_ \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_THIS_PARAM_ \
     bind_this
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_BIND_THIS_PARAM_DECL_(id) \
- , BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPE(id) & \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_THIS_PARAM_
-
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_NOBIND_(z, n, unused) \
- , ::boost::closure::aux::nobind
-
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_NOBIND_TYPE_(z, n, unused) \
- , ::boost::closure::aux::nobind_t
-
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_NOBIND_PARAM_DECL_(z, n, unused) \
- , ::boost::closure::aux::nobind_t & \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_BIND_THIS_PARAM_DECL_(id) \
+ , BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPE(id) & \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_THIS_PARAM_
+
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_NOBIND_(z, n, unused) \
+ , ::boost::local_function::aux::nobind
+
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_NOBIND_TYPE_(z, n, unused) \
+ , ::boost::local_function::aux::nobind_t
+
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_NOBIND_PARAM_DECL_( \
+ z, n, unused) \
+ , ::boost::local_function::aux::nobind_t & \
     /* param name not needed here because no bind param not used */
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_ENUM_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_ENUM_( \
         r, id_typename_offset_const, i, bind_traits) \
     BOOST_PP_COMMA_IF(i) /* enumeration commas */ \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_( \
             r, id_typename_offset_const, i, \
- BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE(bind_traits))
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
+ bind_traits))
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_DECL_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_DECL_( \
         r, id_typename_offset_const, i, bind_traits) \
     BOOST_PP_EXPR_IIF(BOOST_PP_TUPLE_ELEM(4, 1, id_typename_offset_const), \
         typename \
     ) \
- ::boost::closure::aux::member_type< \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_TYPE_( \
+ ::boost::local_function::aux::member_type< \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_TYPE_( \
                 r, id_typename_offset_const, i, bind_var_without_type) \
>::reference \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_VAR_( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_VAR_( \
             BOOST_PP_ADD(i, BOOST_PP_TUPLE_ELEM(4, 2, \
                     id_typename_offset_const))) \
     ; /* end member variable declaration */
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_STATIC_BIND_MEMBER_( \
+#define \
+BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_STATIC_BIND_MEMBER_( \
         r, id_typename_offset_const, i, bind_traits) \
- , static_cast< BOOST_CLOSURE_AUX_CODE_FUNCTOR_CLASS_TYPE_( \
+ , static_cast< BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CLASS_TYPE_( \
             BOOST_PP_TUPLE_ELEM(4, 0, id_typename_offset_const))* >(object)-> \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_VAR_( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_VAR_( \
             BOOST_PP_ADD(i, BOOST_PP_TUPLE_ELEM(4, 2, \
             id_typename_offset_const)))
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_INIT_ENUM_( \
+#define \
+BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_INIT_ENUM_( \
         r, id_offset, i, bind_traits) \
     BOOST_PP_COMMA_IF(i) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_VAR_( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_VAR_( \
             BOOST_PP_ADD(i, BOOST_PP_TUPLE_ELEM(2, 1, id_offset))) \
     ( /* member variable initialization */ \
         static_cast< \
             BOOST_SCOPE_EXIT_DETAIL_PARAMS_T( \
                     BOOST_PP_TUPLE_ELEM(2, 0, id_offset))* \
- >(BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAMS_)-> \
+ >(BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAMS_)-> \
         BOOST_SCOPE_EXIT_DETAIL_PARAM( \
               BOOST_PP_TUPLE_ELEM(2, 0, id_offset) \
             , BOOST_PP_ADD(i, BOOST_PP_TUPLE_ELEM(2, 1, id_offset)) \
- , BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE(bind_traits) \
+ , BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
+ bind_traits) \
         ).value \
     )
 
 // Typeof type-definitions.
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_TYPEDEF_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_TYPEDEF_( \
         r, id_typename_offset_const, i, bind_traits) \
     typedef /* the type with the special typeof name */ \
- BOOST_CLOSURE_AUX_CLOSURE_TYPEOF_TYPE( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_( \
+ BOOST_LOCAL_FUNCTION_AUX_TYPEOF_TYPE( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_( \
                     r, id_typename_offset_const, i, \
- BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE( \
                             bind_traits)) \
         ) \
     ; /* end typedef */
 
 // Expand to the function type `R (A1, ...)`.
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_F_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_F_( \
         id, decl_traits, has_type, function_type) \
- BOOST_CLOSURE_AUX_CODE_RESULT_TYPE(id) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TYPE(id) \
     BOOST_PP_EXPR_IIF(has_type, (function_type) ) \
     ( \
         BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_DECL_ENUM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_DECL_ENUM_, \
                 0, /* without defaults */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits)) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits)) \
     )
 
 // Functor call operations.
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_CALL_BODY_(id, typename01, \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CALL_BODY_(id, typename01, \
         const_bind_macro, bind_macro, const_bind_this_macro, bind_this_macro, \
         param_macro, params, \
         const_binds, has_const_bind_this, binds, has_bind_this) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BODY_FUNC_( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BODY_FUNC_( \
         BOOST_PP_LIST_FOR_EACH_I(const_bind_macro, \
                 0 /* no offset */, const_binds) \
         /* pass plain binds */ \
@@ -363,52 +376,53 @@
         BOOST_PP_LIST_FOR_EACH_I(param_macro, ~, params) \
     )
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_CALL_(z, defaults_n, \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CALL_(z, defaults_n, \
         id, typename01, decl_traits, params, \
         const_binds, has_const_bind_this, binds, has_bind_this) \
- inline BOOST_CLOSURE_AUX_CODE_RESULT_TYPE(id) operator()( \
+ inline BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TYPE(id) operator()( \
         BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_DECL_ENUM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_DECL_ENUM_, \
                 typename01, params) \
     ) const { \
         /* just forward call to member function with local func name */ \
- return BOOST_CLOSURE_AUX_CODE_FUNCTOR_CALL_BODY_(id, typename01, \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_MEMBER_BIND_ENUM_, \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_MEMBER_BIND_ENUM_, \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_MEMBER_THIS_, \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_MEMBER_THIS_, \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_ENUM_, \
+ return BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CALL_BODY_(id, typename01,\
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_MEMBER_BIND_ENUM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_MEMBER_BIND_ENUM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_MEMBER_THIS_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_MEMBER_THIS_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_ENUM_, \
                 params, const_binds, has_const_bind_this, binds, \
                 has_bind_this); \
     }
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_FUNC_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_FUNC_( \
         z, defaults_n, unused) \
- BOOST_CLOSURE_AUX_SYMBOL( (call)(defaults_n) )
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (call)(defaults_n) )
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_COMMA_FUNC_ADDR_( \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_COMMA_FUNC_ADDR_( \
         z, defaults_n, unused) \
- , &BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_FUNC_(z, defaults_n, unused)
+ , &BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_FUNC_(z, defaults_n, ~)
 
-// Precondition: !CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_COMMA_BIND_PARAM_DECLS_( \
+// Precondition: NO_LOCAL_TYPES_AS_TEMPLATE_PARAMS.
+#define \
+BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_COMMA_BIND_PARAM_DECLS_( \
         id, typename01, const_binds, has_const_bind_this, binds, has_bind_this)\
     BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_BIND_PARAM_DECL_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_BIND_PARAM_DECL_, \
             ( id, typename01, 0 /* no offset */, 1 /* const */ ), const_binds) \
     BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_BIND_PARAM_DECL_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_BIND_PARAM_DECL_, \
             /* offset of # of const-binds */ \
             ( id, typename01, BOOST_PP_LIST_SIZE(const_binds), 0 /* const */ ),\
             binds) \
     BOOST_PP_IIF(BOOST_PP_BITOR(has_bind_this, \
             has_const_bind_this), \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_BIND_THIS_PARAM_DECL_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_BIND_THIS_PARAM_DECL_ \
     , \
         BOOST_PP_TUPLE_EAT(1) \
     )(id) \
     /* fill with nobind_t (if no local-types as tparams) */ \
- BOOST_PP_REPEAT(BOOST_PP_SUB(BOOST_CLOSURE_CONFIG_BIND_MAX, \
+ BOOST_PP_REPEAT(BOOST_PP_SUB(BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX, \
             BOOST_PP_IIF(BOOST_PP_BITOR(has_bind_this, \
                     has_const_bind_this), \
                 BOOST_PP_INC \
@@ -416,41 +430,42 @@
                 BOOST_PP_TUPLE_REM(1) \
             )(BOOST_PP_LIST_SIZE(BOOST_PP_LIST_APPEND(const_binds, \
                     binds)))), \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_NOBIND_PARAM_DECL_, ~)
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_NOBIND_PARAM_DECL_, ~)
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_OPERATOR_(id, typename01, \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_OPERATOR_( \
+ id, typename01, \
         params, const_binds, has_const_bind_this, binds, has_bind_this) \
     operator()( \
         BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_ENUM_, ~, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_ENUM_, ~, \
                 params) \
     )
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_BODY_(id, typename01, \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_BODY_( \
+ id, typename01, \
         params, const_binds, has_const_bind_this, binds, has_bind_this) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_CALL_BODY_(id, typename01, \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_PARAM_ENUM_, \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_PARAM_ENUM_, \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_THIS_PARAM_, \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_THIS_PARAM_, \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_ENUM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CALL_BODY_(id, typename01, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_PARAM_ENUM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_PARAM_ENUM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_THIS_PARAM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_THIS_PARAM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_ARG_NAME_ENUM_, \
             params, const_binds, has_const_bind_this, binds, has_bind_this)
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_(z, defaults_n, \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_(z, defaults_n, \
         id, typename01, decl_traits, params, \
         const_binds, has_const_bind_this, binds, has_bind_this) \
- inline static BOOST_CLOSURE_AUX_CODE_RESULT_TYPE(id) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_FUNC_(z, defaults_n, ~)( \
+ inline static BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TYPE(id) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_FUNC_(z, defaults_n, ~)( \
         void* object \
- BOOST_PP_IIF( \
- BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01, \
+ BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01, \
             BOOST_PP_TUPLE_EAT(6) \
         , \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_COMMA_BIND_PARAM_DECLS_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_COMMA_BIND_PARAM_DECLS_ \
         )(id, typename01, \
                 const_binds, has_const_bind_this, binds, has_bind_this) \
         BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_PARAM_ARG_DECL_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_PARAM_ARG_DECL_, \
                 typename01, params) \
     ) { \
         /* run-time: casting object to this class type and forward call to */ \
@@ -462,19 +477,19 @@
         /* if its syntax resembles a function template call) in fact even */ \
         /* in C is legal to cast to a local struct (using C-style casting) */ \
         return \
- static_cast< BOOST_CLOSURE_AUX_CODE_FUNCTOR_CLASS_TYPE_(id)* >( \
- object)-> \
- BOOST_PP_IIF( \
- BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01,\
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_OPERATOR_ \
+ static_cast< \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CLASS_TYPE_(id)* \
+ >(object)-> \
+ BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01,\
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_OPERATOR_ \
             , \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_BODY_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_BODY_ \
             )(id, typename01, params, \
                     const_binds, has_const_bind_this, binds, has_bind_this) \
         ; \
     }
         
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_CALL_FOR_DEFAULTS_(z, defaults_n, \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CALL_FOR_DEFAULTS_(z, defaults_n, \
         op_id_typename_decl_params_constbinds_hasconstthis_binds_hasthis) \
     BOOST_PP_EXPAND( \
     BOOST_PP_TUPLE_ELEM(9, 0, \
@@ -506,35 +521,35 @@
 
 // Functor binds.
             
-// Precondition: !CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS.
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_BIND_TYPES_(id, typename01, \
- const_binds, has_const_bind_this, binds, has_bind_this) \
+// Precondition: NO_LOCAL_TYPES_AS_TEMPLATE_PARAMS.
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_BIND_TYPES_( \
+ id, typename01, const_binds, has_const_bind_this, binds, has_bind_this)\
     BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_BIND_TYPE_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_BIND_TYPE_, \
             ( id, typename01, 0 /* no offset */, 1 /* const */ ), \
             const_binds) \
     BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_BIND_TYPE_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_BIND_TYPE_, \
             /* offset of # of const-binds */ \
             ( id, typename01, BOOST_PP_LIST_SIZE(const_binds), 0 /* const */ ),\
             binds) \
     BOOST_PP_IIF(BOOST_PP_BITOR(has_bind_this, \
             has_const_bind_this), \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_BIND_THIS_TYPE_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_BIND_THIS_TYPE_ \
     , \
         BOOST_PP_TUPLE_EAT(1) \
     )(id) \
     /* fill with nobind_t (if no local-types as tparams) */ \
- BOOST_PP_REPEAT(BOOST_PP_SUB(BOOST_CLOSURE_CONFIG_BIND_MAX, \
+ BOOST_PP_REPEAT(BOOST_PP_SUB(BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX, \
             BOOST_PP_IIF(BOOST_PP_BITOR(has_bind_this, has_const_bind_this), \
                 BOOST_PP_INC \
             , \
                 BOOST_PP_TUPLE_REM(1) \
             )(BOOST_PP_LIST_SIZE(BOOST_PP_LIST_APPEND(const_binds, binds)))), \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_NOBIND_TYPE_, ~)
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_NOBIND_TYPE_, ~)
         
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_TYPEOF_TYPEDEFS_(id, typename01, \
- const_binds, has_const_bind_this, binds, has_bind_this) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_TYPEOF_TYPEDEFS_( \
+ id, typename01, const_binds, has_const_bind_this, binds, has_bind_this)\
     /* typeof types -- these types are qualified with extra eventual */ \
     /* const and/or & if their variables are bound by const and/or & */ \
     /* (this is because it is not possible to strip the eventual & */ \
@@ -542,92 +557,93 @@
     /* programmers can always remove const& using type traits) */ \
     /* const bind typeof types */ \
     BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_TYPEDEF_,\
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_TYPEDEF_,\
             (id, typename01, 0 /* no offset */, 1 /* const-bind */ ), \
             const_binds) \
     /* bind typeof types */ \
     BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_TYPEDEF_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_TYPEDEF_, \
             /* offset index with # of preceding const-binds (if any) */ \
             ( id, typename01, BOOST_PP_LIST_SIZE(const_binds), \
               0 /* not const-bind */ ), binds) \
     /* const this... */ \
     BOOST_PP_EXPR_IIF(has_const_bind_this, \
- typedef BOOST_CLOSURE_AUX_CLOSURE_TYPEOF_TYPE( \
+ typedef BOOST_LOCAL_FUNCTION_AUX_TYPEOF_TYPE( \
             BOOST_PP_EXPR_IIF(typename01, typename) \
- ::boost::closure::aux::add_pointed_const< \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPE(id) \
+ ::boost::local_function::aux::add_pointed_const< \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPE(id) \
>::type \
             this_ \
         ) ; /* close typedef */ \
     ) \
     /* ... or, non-const this */ \
     BOOST_PP_EXPR_IIF(has_bind_this, \
- typedef BOOST_CLOSURE_AUX_CLOSURE_TYPEOF_TYPE( \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPE(id) \
+ typedef BOOST_LOCAL_FUNCTION_AUX_TYPEOF_TYPE( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPE(id) \
             this_ \
         ) ; /* close typedef */ \
     )
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_MEMBER_DECLS_(id, typename01, \
- const_binds, has_const_bind_this, binds, has_bind_this) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_MEMBER_DECLS_( \
+ id, typename01, const_binds, has_const_bind_this, binds, has_bind_this)\
     /* run-time: it is faster if call `operator()` just accesses member */ \
     /* references to the ScopeExit struct instead of accessing the bind */ \
     /* struct at each call (these mem refs are init by the constructor) */ \
     BOOST_PP_LIST_FOR_EACH_I( /* const bind member references */ \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_DECL_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_DECL_,\
             ( id, typename01, 0 /* no offset */, 1 /* const */ ), \
             const_binds) \
     BOOST_PP_LIST_FOR_EACH_I( /* bind member references */ \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_DECL_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_DECL_,\
             /* offset index of # of const-binds (could be 0) */ \
             ( id, typename01, BOOST_PP_LIST_SIZE(const_binds), \
               0 /* no const */ ), binds) \
     /* bind this const or not (pointed-const is not added here because */ \
     /* this is a reference, it is added to the this_ body param instead */ \
     BOOST_PP_EXPR_IIF(BOOST_PP_BITOR(has_bind_this, has_const_bind_this), \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPE(id) /* this is ptr so no & */ \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_MEMBER_THIS_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPE(id)/* this is * so no & */\
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_MEMBER_THIS_ \
         ; /* end member variable declaration */ \
     )
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_STATIC_BINDS_(id, typename01, \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_STATIC_BINDS_( \
+ id, typename01, \
         const_binds, has_const_bind_this, binds, has_bind_this) \
     BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_STATIC_BIND_MEMBER_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_STATIC_BIND_MEMBER_, \
         ( id, typename01, 0 /* no offset */, 1 /* const */ ), const_binds) \
     BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_STATIC_BIND_MEMBER_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_MAYBECONST_STATIC_BIND_MEMBER_, \
         /* offset of # of const-binds */ \
         ( id, typename01, BOOST_PP_LIST_SIZE(const_binds), 0 /* const */ ), \
         binds) \
     BOOST_PP_IIF(BOOST_PP_BITOR(has_bind_this, \
             has_const_bind_this), \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_STATIC_BIND_MEMBER_THIS_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_STATIC_BIND_MEMBER_THIS_ \
     , \
         BOOST_PP_TUPLE_EAT(1) \
     )(id) \
     /* fill with nobind_t (if no local-types as tparams) */ \
- BOOST_PP_REPEAT(BOOST_PP_SUB(BOOST_CLOSURE_CONFIG_BIND_MAX, \
+ BOOST_PP_REPEAT(BOOST_PP_SUB(BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX, \
             BOOST_PP_IIF(BOOST_PP_BITOR(has_bind_this, has_const_bind_this), \
                 BOOST_PP_INC \
             , \
                 BOOST_PP_TUPLE_REM(1) \
             )(BOOST_PP_LIST_SIZE(BOOST_PP_LIST_APPEND(const_binds, binds)))), \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_NOBIND_, ~)
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_NOBIND_, ~)
 
 // Functor inits.
         
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_MEMBER_INITS_(id, typename01, \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MEMBER_INITS_(id, typename01, \
         const_binds, has_const_bind_this, binds, has_bind_this) \
     BOOST_PP_EXPR_IIF(BOOST_PP_BITOR(BOOST_PP_BITOR(BOOST_PP_BITOR( \
- BOOST_PP_LIST_IS_CONS(const_binds), BOOST_PP_LIST_IS_CONS(binds)),\
+ BOOST_PP_LIST_IS_CONS(const_binds), BOOST_PP_LIST_IS_CONS(binds)), \
             has_bind_this), has_const_bind_this), \
         : \
     ) \
     /* init const binds */ \
     BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_INIT_ENUM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_INIT_ENUM_, \
             ( id, 0 /* no offset */ ), const_binds) \
     /* init plain binds */ \
     BOOST_PP_COMMA_IF( \
@@ -637,7 +653,7 @@
         ) \
     ) \
     BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_INIT_ENUM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_MEMBER_INIT_ENUM_, \
             /* offset index of # of const-binds (could be 0) */ \
             ( id, BOOST_PP_LIST_SIZE(const_binds) ), binds) \
     /* init `this` bind (const or not) */ \
@@ -651,59 +667,65 @@
         ) \
     ) \
     BOOST_PP_EXPR_IIF(BOOST_PP_BITOR(has_const_bind_this, has_bind_this), \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_MEMBER_THIS_( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_MEMBER_THIS_( \
             static_cast< BOOST_SCOPE_EXIT_DETAIL_PARAMS_T(id)* >( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAMS_)-> \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_VAR \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAMS_)-> \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_VAR \
         ) \
     )
 
 // Functor class.
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_(id, typename01, decl_traits, params, \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_( \
+ id, typename01, decl_traits, params, \
         default_count, const_binds, has_const_bind_this, binds, has_bind_this) \
- class BOOST_CLOSURE_AUX_CODE_FUNCTOR_CLASS_TYPE_(id) \
+ class BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CLASS_TYPE_(id) \
     /* run-time: do not use base class to allow for compiler optimizations */ \
     { \
         /* function type */ \
- typedef BOOST_CLOSURE_AUX_CODE_FUNCTOR_F_(id, decl_traits, \
- 1 /* has type */, BOOST_CLOSURE_AUX_CODE_FUNCTOR_F_TYPE_); \
+ typedef \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_F_(id, decl_traits, \
+ 1 /* has type */, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_F_TYPE_) \
+ ; \
         /* functor type -- this type cannot have ID postfix because it is */ \
         /* used the `NAME` macro (this symbol is within functor class so */ \
         /* it does not have to have ID postfix) */ \
         typedef BOOST_PP_EXPR_IIF(typename01, typename) \
             BOOST_IDENTITY_TYPE(( /* IDENTITY for template param comma */ \
- ::boost::closure::aux::function< \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_F_TYPE_ \
+ ::boost::local_function::aux::function< \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_F_TYPE_ \
                     , default_count \
                     BOOST_PP_IIF( \
- BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01, \
+ BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01, \
                         BOOST_PP_TUPLE_EAT(6) \
                     , \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_BIND_TYPES_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_BIND_TYPES_\
                     )(id, typename01, const_binds, has_const_bind_this, \
                             binds, has_bind_this) \
> \
             )) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_TYPE \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_TYPE \
         ; \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_TYPEOF_TYPEDEFS_(id, typename01, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_TYPEOF_TYPEDEFS_( \
+ id, typename01, \
                 const_binds, has_const_bind_this, binds, has_bind_this) \
     public: \
         /* public trait interface following Boost.FunctionTraits names */ \
         /* (traits must be defined in both this and the global functor) */ \
         enum { arity = ::boost::function_traits< /* can't use static data */ \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_F_TYPE_ >::arity }; \
- typedef BOOST_CLOSURE_AUX_CODE_RESULT_TYPE(id) result_type; \
- BOOST_PP_LIST_FOR_EACH_I(BOOST_CLOSURE_AUX_CODE_FUNCTOR_ARG_TYPEDEF_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_F_TYPE_ >::arity }; \
+ typedef BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TYPE(id) result_type; \
+ BOOST_PP_LIST_FOR_EACH_I( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_ARG_TYPEDEF_, \
                 typename01, params) \
         /* constructor */ \
- inline explicit BOOST_CLOSURE_AUX_CODE_FUNCTOR_CLASS_TYPE_(id)( \
- void* BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAMS_) \
+ inline explicit BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CLASS_TYPE_(id)( \
+ void* BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAMS_) \
             /* NOTE: there is no way to wrap member initializer commas */ \
             /* within paren so you must handle these commas manually if */ \
             /* expanding this macro within another macro */ \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MEMBER_INITS_(id, typename01, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MEMBER_INITS_(id, typename01,\
                     const_binds, has_const_bind_this, binds, has_bind_this) \
         { /* do nothing */ } \
         /* run-time: implement `operator()` (and for all default params) so */ \
@@ -712,8 +734,8 @@
         BOOST_PP_REPEAT( \
                 /* PP_INC to handle no dflt (EXPAND for MVSC) */ \
                 BOOST_PP_EXPAND(BOOST_PP_INC(default_count)), \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_CALL_FOR_DEFAULTS_,\
- ( BOOST_CLOSURE_AUX_CODE_FUNCTOR_CALL_, id, typename01 \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CALL_FOR_DEFAULTS_,\
+ ( BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CALL_, id, typename01 \
                 , decl_traits, params, const_binds, has_const_bind_this, binds \
                 , has_bind_this ) ) \
         /* compliance: trick to pass this local class as a template param */ \
@@ -728,44 +750,47 @@
         BOOST_PP_REPEAT( \
                 /* PP_INC to handle no dflt (EXPAND for MVSC) */ \
                 BOOST_PP_EXPAND(BOOST_PP_INC(default_count)), \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_CALL_FOR_DEFAULTS_,\
- ( BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_, id, typename01 \
- , decl_traits, params, const_binds, has_const_bind_this, binds \
- , has_bind_this ) ) \
- inline static void BOOST_CLOSURE_AUX_FUNCTION_INIT_CALL_FUNC( \
- void* object, BOOST_CLOSURE_AUX_CODE_FUNCTOR_TYPE& functor) { \
- functor.BOOST_CLOSURE_AUX_FUNCTION_INIT_CALL_FUNC( \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_CALL_FOR_DEFAULTS_,\
+ ( BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_, id \
+ , typename01, decl_traits, params, const_binds \
+ , has_const_bind_this, binds, has_bind_this ) ) \
+ inline static void BOOST_LOCAL_FUNCTION_AUX_FUNCTION_INIT_CALL_FUNC( \
+ void* object \
+ , BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_TYPE& functor \
+ ) { \
+ functor.BOOST_LOCAL_FUNCTION_AUX_FUNCTION_INIT_CALL_FUNC( \
                     object \
                     BOOST_PP_IIF( \
- BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01, \
+ BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01, \
                         BOOST_PP_TUPLE_EAT(6) \
                     , \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_COMMA_STATIC_BINDS_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_COMMA_STATIC_BINDS_ \
                     )(id, typename01, const_binds, has_const_bind_this, \
                             binds, has_bind_this) \
                 BOOST_PP_REPEAT( /* INC to handle no dflt (EXPAND for MVSC) */ \
                         BOOST_PP_EXPAND(BOOST_PP_INC(default_count)), \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_STATIC_CALL_COMMA_FUNC_ADDR_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_STATIC_CALL_COMMA_FUNC_ADDR_, \
                         ~) \
             ); \
         } \
     private: \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BIND_MEMBER_DECLS_(id, typename01, \
- const_binds, has_const_bind_this, binds, has_bind_this) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BIND_MEMBER_DECLS_(id, \
+ typename01, const_binds, has_const_bind_this, binds, \
+ has_bind_this) \
         /* this decl allows for nesting (local functions, etc) as */ \
         /* it makes the args variable visible within the body code (which */ \
         /* cannot be static); this is for compilation only as the args */ \
         /* variable is actually declared by the 1st enclosing local func */ \
         boost::scope_exit::detail::undeclared \
- BOOST_CLOSURE_AUX_CLOSURE_ARGS_VAR; \
+ BOOST_LOCAL_FUNCTION_AUX_DECL_ARGS_VAR; \
         /* body function (unfortunately, cannot be static to allow access */ \
         /* to member var with local function name for recursion but doing */ \
         /* so also allows the body to misuse `this` instead of `this_`) */ \
- inline BOOST_CLOSURE_AUX_CODE_RESULT_TYPE(id) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_BODY_FUNC_( \
+ inline BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TYPE(id) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_BODY_FUNC_( \
                 /* const binds */ \
                 BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_ENUM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_ENUM_, \
                         ( id, typename01, 0 /* no offset */, 1 /* const */ ), \
                         const_binds) \
                 /* plain binds */ \
@@ -776,7 +801,7 @@
                     ) \
                 ) \
                 BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_ENUM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_MAYBECONST_BIND_DECL_ENUM_, \
                         /* offset index of # of const-binds (could be 0) */ \
                         ( id, typename01, BOOST_PP_LIST_SIZE(const_binds), \
                           0 /* not const-bind */ ), binds) \
@@ -793,14 +818,14 @@
                 /* const pointer to const object */ \
                 BOOST_PP_EXPR_IIF(has_const_bind_this, \
                     BOOST_PP_EXPR_IIF(typename01, typename) \
- ::boost::closure::aux::add_pointed_const< \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPE(id) \
+ ::boost::local_function::aux::add_pointed_const< \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPE(id) \
>::type const \
                     this_ /* special name to access object this */ \
                 ) \
                 /* const pointer to non-const object */ \
                 BOOST_PP_EXPR_IIF(has_bind_this, \
- BOOST_CLOSURE_AUX_CODE_BIND_THIS_TYPE(id) const \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND_THIS_TYPE(id) const \
                     this_ /* special name to access object this */ \
                 ) \
                 /* params (last because they can have defaults) */ \
@@ -818,7 +843,7 @@
                     ) \
                 ) \
                 BOOST_PP_LIST_FOR_EACH_I( \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_PARAM_DECL_ENUM_, \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_PARAM_DECL_ENUM_, \
                         1 /* with defaults */, params) \
             ) /* end body function params */ \
             /* const member func so it cannot change obj (reassign member */ \
@@ -829,25 +854,26 @@
 
 // PUBLIC //
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR_TYPE \
- BOOST_CLOSURE_AUX_SYMBOL( (functor_type) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_TYPE \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (functor_type) )
 
-#define BOOST_CLOSURE_AUX_CODE_FUNCTOR(id, typename01, decl_traits) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR_(id, typename01, decl_traits \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR(id, typename01, decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR_(id, typename01, decl_traits \
         /* params (might have defaults) */ \
- , BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
- , BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS_DEFAULT_COUNT(decl_traits) \
+ , BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
+ , BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS_DEFAULT_COUNT( \
+ decl_traits) \
         /* const bind vars (`this` excluded) */ \
- , BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
+ , BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
         /* if const bind `this` is present */ \
         , BOOST_PP_LIST_IS_CONS( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
                 decl_traits)) \
         /* bind (non-const) vars (`this` excluded) */ \
- , BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
+ , BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
         /* if (non-const) bind `this` is present */ \
         , BOOST_PP_LIST_IS_CONS( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES( \
                 decl_traits)) \
     )
 

Modified: sandbox/closure/boost/local_function/aux_/macro/code_/result.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/macro/code_/result.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/macro/code_/result.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,11 +4,11 @@
 // 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_CLOSURE_AUX_CODE_RESULT_HPP_
-#define BOOST_CLOSURE_AUX_CODE_RESULT_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_HPP_
 
-#include <boost/closure/aux_/symbol.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_returns.hpp>
+#include <boost/local_function/aux_/symbol.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_returns.hpp>
 #include <boost/scope_exit.hpp>
 #include <boost/typeof/typeof.hpp>
 #include <boost/type_traits/remove_pointer.hpp>
@@ -20,92 +20,96 @@
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_CODE_RESULT_TAG_(id) \
- BOOST_CLOSURE_AUX_SYMBOL( (deduce_result_tag)(id) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TAG_(id) \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (deduce_result_tag)(id) )
 
-#define BOOST_CLOSURE_AUX_CODE_RESULT_FUNC_(id) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_FUNC_(id) \
     /* symbol (not internal) also gives error if missing result type */ \
     BOOST_PP_CAT( \
   ERROR_missing_result_type_before_the_local_function_parameter_macro_id, \
             id)
 
-#define BOOST_CLOSURE_AUX_CODE_RESULT_WRAP_(id) \
- BOOST_CLOSURE_AUX_SYMBOL( (deduce_result_wrap)(id) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_WRAP_(id) \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (deduce_result_wrap)(id) )
 
-#define BOOST_CLOSURE_AUX_CODE_RESULT_CAPTURE_(id) \
- BOOST_CLOSURE_AUX_SYMBOL( (deduce_result_capture)(id) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_CAPTURE_(id) \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (deduce_result_capture)(id) )
 
-#define BOOST_CLOSURE_AUX_CODE_RESULT_PARAMS_(id) \
- BOOST_CLOSURE_AUX_SYMBOL( (deduce_result_params)(id) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_PARAMS_(id) \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (deduce_result_params)(id) )
 
-#define BOOST_CLOSURE_AUX_CODE_RESULT_FUNC_TYPE_(id) \
- BOOST_CLOSURE_AUX_SYMBOL( (deduce_result_function_type)(id) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_FUNC_TYPE_(id) \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (deduce_result_function_type)(id) )
 
 // User did not explicitly specified result type, deduce it (using Typeof).
-#define BOOST_CLOSURE_AUX_CODE_RESULT_DEDUCE_(id, typename01, decl_traits) \
- BOOST_CLOSURE_AUX_CODE_RESULT_DECL(id) \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_DEDUCE_( \
+ id, typename01, decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_DECL(id) \
     /* the many tagging, wrapping, etc that follow are taken from ScopeExit */ \
     /* type deduction mechanism and they are necessary within templates */ \
     /* (at least on GCC) to work around an compiler internal error */ \
     typedef \
- void (*BOOST_CLOSURE_AUX_CODE_RESULT_TAG_(id))( \
- int BOOST_CLOSURE_AUX_CODE_RESULT_FUNC_(id) \
+ void (*BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TAG_(id))( \
+ int BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_FUNC_(id) \
         ) \
     ; \
     typedef \
         BOOST_PP_IIF(typename01, BOOST_TYPEOF_TPL, BOOST_TYPEOF)( \
             ::boost::scope_exit::detail::wrap( \
                 ::boost::scope_exit::detail::deref( \
- BOOST_CLOSURE_AUX_CODE_RESULT_FUNC_(id), \
- (BOOST_CLOSURE_AUX_CODE_RESULT_TAG_(id))0 \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_FUNC_(id), \
+ (BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TAG_(id))0 \
                 ) \
             ) \
         ) \
- BOOST_CLOSURE_AUX_CODE_RESULT_WRAP_(id) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_WRAP_(id) \
     ; \
     typedef BOOST_PP_EXPR_IIF(typename01, typename) \
- BOOST_CLOSURE_AUX_CODE_RESULT_WRAP_(id)::type \
- BOOST_CLOSURE_AUX_CODE_RESULT_CAPTURE_(id) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_WRAP_(id)::type \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_CAPTURE_(id) \
     ; \
- struct BOOST_CLOSURE_AUX_CODE_RESULT_PARAMS_(id) { \
+ struct BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_PARAMS_(id) { \
         /* this typedef is internal to struct so its name will not clash */ \
- typedef BOOST_CLOSURE_AUX_CODE_RESULT_CAPTURE_(id) function_ptr; \
+ typedef BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_CAPTURE_(id) \
+ function_ptr; \
     }; \
     typedef BOOST_PP_EXPR_IIF(typename01, typename) \
         ::boost::remove_pointer< BOOST_PP_EXPR_IIF(typename01, typename) \
- BOOST_CLOSURE_AUX_CODE_RESULT_PARAMS_(id)::function_ptr \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_PARAMS_(id)::function_ptr \
>::type \
- BOOST_CLOSURE_AUX_CODE_RESULT_FUNC_TYPE_(id) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_FUNC_TYPE_(id) \
     ; \
     typedef BOOST_PP_EXPR_IIF(typename01, typename) \
         ::boost::function_traits< \
- BOOST_CLOSURE_AUX_CODE_RESULT_FUNC_TYPE_(id) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_FUNC_TYPE_(id) \
>::result_type \
- BOOST_CLOSURE_AUX_CODE_RESULT_TYPE(id) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TYPE(id) \
     ;
 
 // Use result type as explicitly specified by user (no type deduction needed).
-#define BOOST_CLOSURE_AUX_CODE_RESULT_RETURN_(id, typename01, decl_traits) \
+// Precondition: RETURNS(decl_traits) != NIL
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TYPED_( \
+ id, typename01, decl_traits) \
     typedef \
- BOOST_PP_LIST_FIRST(BOOST_CLOSURE_AUX_DECL_TRAITS_RETURNS( \
+ BOOST_PP_LIST_FIRST(BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS( \
                 decl_traits)) \
- BOOST_CLOSURE_AUX_CODE_RESULT_TYPE(id) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TYPE(id) \
     ;
 
 // PUBLIC //
 
-#define BOOST_CLOSURE_AUX_CODE_RESULT_TYPE(id) \
- BOOST_CLOSURE_AUX_SYMBOL( (result_type)(id) )
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TYPE(id) \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (result_type)(id) )
 
-#define BOOST_CLOSURE_AUX_CODE_RESULT_DECL(id) \
- /* result type here */ (*BOOST_CLOSURE_AUX_CODE_RESULT_FUNC_(id))();
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_DECL(id) \
+ /* result type here */ (*BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_FUNC_(id))();
 
-#define BOOST_CLOSURE_AUX_CODE_RESULT(id, typename01, decl_traits) \
- BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS(BOOST_CLOSURE_AUX_DECL_TRAITS_RETURNS( \
- decl_traits)), \
- BOOST_CLOSURE_AUX_CODE_RESULT_RETURN_ \
+#define BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT(id, typename01, decl_traits) \
+ BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS(decl_traits)), \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_TYPED_ \
     , \
- BOOST_CLOSURE_AUX_CODE_RESULT_DEDUCE_ \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_DEDUCE_ \
     )(id, typename01, decl_traits)
 
 #endif // #include guard

Copied: sandbox/closure/boost/local_function/aux_/macro/decl.hpp (from r76567, /sandbox/closure/boost/closure/aux_/macro/closure.hpp)
==============================================================================
--- /sandbox/closure/boost/closure/aux_/macro/closure.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/macro/decl.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,14 +4,14 @@
 // 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_CLOSURE_AUX_CLOSURE_HPP_
-#define BOOST_CLOSURE_AUX_CLOSURE_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_DECL_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_DECL_HPP_
 
-#include <boost/closure/aux_/macro/code_/result.hpp>
-#include <boost/closure/aux_/macro/code_/bind.hpp>
-#include <boost/closure/aux_/macro/code_/functor.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_error.hpp>
+#include <boost/local_function/aux_/macro/code_/result.hpp>
+#include <boost/local_function/aux_/macro/code_/bind.hpp>
+#include <boost/local_function/aux_/macro/code_/functor.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_error.hpp>
 #include <boost/scope_exit.hpp>
 #include <boost/mpl/assert.hpp>
 #include <boost/preprocessor/control/iif.hpp>
@@ -24,42 +24,43 @@
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_CLOSURE_OK_(id, typename01, decl_traits) \
- BOOST_CLOSURE_AUX_CODE_RESULT(id, typename01, decl_traits) \
- BOOST_CLOSURE_AUX_CODE_BIND(id, typename01, decl_traits) \
- BOOST_CLOSURE_AUX_CODE_FUNCTOR(id, typename01, decl_traits)
+#define BOOST_LOCAL_FUNCTION_AUX_DECL_OK_(id, typename01, decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT(id, typename01, decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_BIND(id, typename01, decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_FUNCTOR(id, typename01, decl_traits)
 
-#define BOOST_CLOSURE_AUX_CLOSURE_ERROR_(id, typename01, decl_traits) \
+#define BOOST_LOCAL_FUNCTION_AUX_DECL_ERROR_(id, typename01, decl_traits) \
     BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS(decl_traits)), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS(decl_traits)), \
         /* return specified, so no result type before this macro expansion */ \
         BOOST_PP_TUPLE_EAT(1) \
     , \
         /* even if error, must declare result type to prevent additional */ \
         /* error due to result type appearing before this macro expansion */ \
- BOOST_CLOSURE_AUX_CODE_RESULT_DECL \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_RESULT_DECL \
     )(id) \
     ; /* close eventual previous statements, otherwise it has no effect */ \
     BOOST_MPL_ASSERT_MSG(false, /* always fails (there's an error) */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR_MSG(decl_traits), ()) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR_MSG(decl_traits), ()) \
     ; /* must close ASSERT macro for eventual use within class scope */
 
 // PUBLIC //
 
-#define BOOST_CLOSURE_AUX_CLOSURE_ARGS_VAR \
- BOOST_CLOSURE_AUX_SYMBOL( (args) )
+#define BOOST_LOCAL_FUNCTION_AUX_DECL_ARGS_VAR \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL( (args) )
 
 // Undefine local function bound args global variable. Actual declaration of
 // this variable is made using SFINAE mechanisms by each local function macro.
-extern boost::scope_exit::detail::undeclared BOOST_CLOSURE_AUX_CLOSURE_ARGS_VAR;
+extern boost::scope_exit::detail::undeclared
+ BOOST_LOCAL_FUNCTION_AUX_DECL_ARGS_VAR;
 
 // sign_params: parsed parenthesized params.
-#define BOOST_CLOSURE_AUX_CLOSURE(id, typename01, decl_traits) \
+#define BOOST_LOCAL_FUNCTION_AUX_DECL(id, typename01, decl_traits) \
     BOOST_PP_IIF(BOOST_PP_IS_EMPTY( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR_MSG(decl_traits)), \
- BOOST_CLOSURE_AUX_CLOSURE_OK_ \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR_MSG(decl_traits)), \
+ BOOST_LOCAL_FUNCTION_AUX_DECL_OK_ \
     , \
- BOOST_CLOSURE_AUX_CLOSURE_ERROR_ \
+ BOOST_LOCAL_FUNCTION_AUX_DECL_ERROR_ \
     )(id, typename01, decl_traits)
 
 #endif // #include guard

Copied: sandbox/closure/boost/local_function/aux_/macro/name.hpp (from r76567, /sandbox/closure/boost/closure/aux_/macro/closure_end.hpp)
==============================================================================
--- /sandbox/closure/boost/closure/aux_/macro/closure_end.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/macro/name.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,15 +4,15 @@
 // 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_CLOSURE_AUX_CLOSURE_END_HPP_
-#define BOOST_CLOSURE_AUX_CLOSURE_END_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_NAME_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_NAME_HPP_
 
-#include <boost/closure/aux_/macro/code_/end.hpp>
+#include <boost/local_function/aux_/macro/code_/name.hpp>
 
 // PUBLIC //
 
-#define BOOST_CLOSURE_AUX_CLOSURE_END(qualified_name) \
- BOOST_CLOSURE_AUX_CODE_END(qualified_name)
+#define BOOST_LOCAL_FUNCTION_AUX_NAME(qualified_name) \
+ BOOST_LOCAL_FUNCTION_AUX_CODE_NAME(qualified_name)
 
 #endif // #include guard
 

Copied: sandbox/closure/boost/local_function/aux_/macro/typeof.hpp (from r76567, /sandbox/closure/boost/closure/aux_/macro/closure_typeof.hpp)
==============================================================================
--- /sandbox/closure/boost/closure/aux_/macro/closure_typeof.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/macro/typeof.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -1,16 +1,16 @@
 
-#ifndef BOOST_CLOSURE_AUX_CLOSURE_TYPEOF_HPP_
-#define BOOST_CLOSURE_AUX_CLOSURE_TYPEOF_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_TYPEOF_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_TYPEOF_HPP_
 
-#include <boost/closure/aux_/symbol.hpp>
+#include <boost/local_function/aux_/symbol.hpp>
 
 // PUBLIC //
 
 // Actual type-name for specified symbol name.
-#define BOOST_CLOSURE_AUX_CLOSURE_TYPEOF_TYPE(name) \
+#define BOOST_LOCAL_FUNCTION_AUX_TYPEOF_TYPE(name) \
     /* cannot prefix in front of name because it could start with non */ \
     /* alphanumeric symbols (e.g., & for binding by reference) */ \
- BOOST_CLOSURE_AUX_SYMBOL_POSTFIX( (name)(typeof_type) )
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL_POSTFIX( (name)(typeof_type) )
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/member.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/member.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/member.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -1,8 +1,10 @@
 
-#ifndef BOOST_CLOSURE_AUX_MEMBER_HPP_
-#define BOOST_CLOSURE_AUX_MEMBER_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_MEMBER_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_MEMBER_HPP_
 
-namespace boost { namespace closure { namespace aux {
+namespace boost { namespace local_function { namespace aux {
+
+// Metafunctions to manipulate data members.
 
 template<typename T> struct member_type {
     typedef T& reference;
@@ -29,7 +31,7 @@
 template<typename T> T& member_deref(T* data) { return *data; }
 template<typename T> T const& member_deref(T const* data) { return *data; }
 
-}}} // namespace
+} } } // namespace
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/nobind.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/nobind.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/nobind.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -1,22 +1,22 @@
 
-#ifndef BOOST_CLOSURE_AUX_NOBIND_HPP_
-#define BOOST_CLOSURE_AUX_NOBIND_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_NOBIND_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_NOBIND_HPP_
 
-#include <boost/closure/aux_/config.hpp>
+#include <boost/local_function/aux_/config.hpp>
 
 // NOTE: The current implementation needs no-bind placeholders only when
 // local types cannot be passed as template parameters.
-#if !BOOST_CLOSURE_AUX_CONFIG_LOCAL_TYPES_AS_TEMPLATE_PARAMS_01
+#if !BOOST_LOCAL_FUNCTION_AUX_CONFIG_LOCALS_AS_TPARAMS_01
 
-namespace boost { namespace closure { namespace aux {
+namespace boost { namespace local_function { namespace aux {
 
-typedef int nobind_t;
+typedef int nobind_t; // Tag no-bind type.
 
-nobind_t nobind;
+nobind_t nobind; // Global variable so all no-binds can reference it.
 
-}}} // namespace
+} } } // namespace
 
-#endif
+#endif // locals as tparams
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/bind.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/bind.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/bind.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,39 +4,41 @@
 // 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_CLOSURE_AUX_PP_BIND_TRAITS_HPP_
-#define BOOST_CLOSURE_AUX_PP_BIND_TRAITS_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_HPP_
 
 #include <boost/preprocessor/tuple/elem.hpp>
 
 // PRIVATE //
 
 // Non-this bind is 2-tuple `(name_without_type, name_with_type)`.
-#define BOOST_CLOSURE_AUX_PP_BIND_TRAITS_INDEX_WITHOUT_TYPE_ 0
-#define BOOST_CLOSURE_AUX_PP_BIND_TRAITS_INDEX_WITH_TYPE_ 1
-#define BOOST_CLOSURE_AUX_PP_BIND_TRAITS_INDEX_MAX_ 2
+#define BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_INDEX_WITHOUT_TYPE_ 0
+#define BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_INDEX_WITH_TYPE_ 1
+#define BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_INDEX_MAX_ 2
 
 // This bind is 1-typle `([type_] EMPTY)`.
-#define BOOST_CLOSURE_AUX_PP_BIND_THIS_TRAITS_INDEX_TYPE_ 0
-#define BOOST_CLOSURE_AUX_PP_BIND_THIS_TRAITS_INDEX_MAX_ 1
+#define BOOST_LOCAL_FUNCTION_AUX_PP_BIND_THIS_TRAITS_INDEX_TYPE_ 0
+#define BOOST_LOCAL_FUNCTION_AUX_PP_BIND_THIS_TRAITS_INDEX_MAX_ 1
 
 // PUBLIC //
 
 // Expand: `[&] var_`.
-#define BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE(bind_traits) \
- BOOST_PP_TUPLE_ELEM(BOOST_CLOSURE_AUX_PP_BIND_TRAITS_INDEX_MAX_, \
- BOOST_CLOSURE_AUX_PP_BIND_TRAITS_INDEX_WITHOUT_TYPE_, bind_traits)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITHOUT_TYPE(bind_traits) \
+ BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_INDEX_MAX_, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_INDEX_WITHOUT_TYPE_, \
+ bind_traits)
 
 // Expand: `[type_ [&] var_]` (EMPTY if no type_ specified).
-#define BOOST_CLOSURE_AUX_PP_BIND_TRAITS_VAR_WITH_TYPE(bind_traits) \
- BOOST_PP_TUPLE_ELEM(BOOST_CLOSURE_AUX_PP_BIND_TRAITS_INDEX_MAX_, \
- BOOST_CLOSURE_AUX_PP_BIND_TRAITS_INDEX_WITH_TYPE_, bind_traits) \
- (/* expand EMPTY */)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_VAR_WITH_TYPE(bind_traits) \
+ BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_INDEX_MAX_, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_INDEX_WITH_TYPE_, \
+ bind_traits)(/* expand EMPTY */)
 
 // Expand: `[type_]` (EMPTY if no type_ specified).
-#define BOOST_CLOSURE_AUX_PP_BIND_TRAITS_THIS_TYPE(bind_this_traits) \
- BOOST_PP_TUPLE_ELEM(BOOST_CLOSURE_AUX_PP_BIND_THIS_TRAITS_INDEX_MAX_, \
- BOOST_CLOSURE_AUX_PP_BIND_THIS_TRAITS_INDEX_TYPE_, \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_BIND_TRAITS_THIS_TYPE(bind_this_traits) \
+ BOOST_PP_TUPLE_ELEM( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_THIS_TRAITS_INDEX_MAX_, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_BIND_THIS_TRAITS_INDEX_TYPE_, \
             bind_this_traits)(/* expand EMPTY */)
 
 #endif // #include guard

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,11 +4,11 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/decl_sign_/sign.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_/nil.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_sign_/sign.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/nil.hpp>
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/tuple/eat.hpp>
 #include <boost/preprocessor/list/adt.hpp>
@@ -16,12 +16,12 @@
 // PUBLIC //
 
 // Expand: decl_traits (see DECL_TRAITS macros to inspect these traits).
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS(declarations) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS(declarations) \
     BOOST_PP_IIF(BOOST_PP_LIST_IS_NIL(declarations), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_NIL \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_NIL \
         BOOST_PP_TUPLE_EAT(1) \
     , \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN \
     )(declarations)
 
 #endif // #include guard

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/append.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/append.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/append.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,16 +4,16 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/decl_returns.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_params.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_const_binds.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_binds.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_error.hpp>
-#include <boost/closure/aux_/preprocessor/traits/param.hpp>
-#include <boost/closure/detail/preprocessor/keyword/return.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_returns.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_params.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_const_binds.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_binds.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_error.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/param.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/return.hpp>
 #include <boost/preprocessor/facilities/empty.hpp>
 #include <boost/preprocessor/arithmetic/dec.hpp>
 #include <boost/preprocessor/list/append.hpp>
@@ -23,7 +23,7 @@
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_PARAM_DEFAULT_( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_PARAM_DEFAULT_( \
         params, default_value) \
     /* `DEC` ok because precondition that unbinds are not nil-list */ \
     BOOST_PP_LIST_APPEND( \
@@ -32,7 +32,7 @@
     , \
         ( /* list 2-tuple */ \
             ( /* (param_decl, default) 2-tuple */ \
- BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_DECL( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_DECL( \
                         BOOST_PP_LIST_AT(params, BOOST_PP_DEC( \
                                 BOOST_PP_LIST_SIZE(params)))) \
             , \
@@ -46,156 +46,165 @@
 // PUBLIC //
 
 // return_type: `return result_type`.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_RETURN( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_RETURN( \
         decl_traits, return_type) \
     ( /* returns */ \
         BOOST_PP_LIST_APPEND( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS(decl_traits), \
- ( BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_REMOVE_FRONT( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS(decl_traits), \
+ ( BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_REMOVE_FRONT( \
                   return_type), BOOST_PP_NIL ) ) \
     , /* params and defaults */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
     , /* const-bind vars */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
     , /* const-bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
+ decl_traits) \
     , /* bind vars */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
     , /* bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
     , /* error message (if any) */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
     )
 
 
 // param_decl: `[auto | register] type_ name_`.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_PARAM(decl_traits, param_decl) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_PARAM( \
+ decl_traits, param_decl) \
     ( /* returns */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
     , /* params and defaults */ \
         BOOST_PP_LIST_APPEND( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits), \
                 /* append param (with no default -- EMPTY) */ \
                 ( (param_decl, BOOST_PP_EMPTY), BOOST_PP_NIL ) ) \
     , /* const-bind vars */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
     , /* const-bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
+ decl_traits) \
     , /* bind vars */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
     , /* bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
     , /* error message (if any) */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
     )
 
 // default_value: a valid parameter default value (`-1`, etc).
 // Precondition: already added unbinds are not nil-list.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_PARAM_DEFAULT( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_PARAM_DEFAULT( \
         decl_traits, default_value) \
     ( /* returns */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
     , /* unbind params and defaults */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_PARAM_DEFAULT_( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_PARAM_DEFAULT_( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits), \
                 default_value) /* append default to last added param */ \
     , /* const-bind vars */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
     , /* const-bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
+ decl_traits) \
     , /* bind vars */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
     , /* bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
     , /* error message (if any) */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
     )
 
 // var_without_type: `[&] var_` (var_ != this).
 // var_with_type: `PP_EMPTY | type [&] var_` (var_ != this).
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_BIND( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_BIND( \
         decl_traits, var_without_type, var_with_type) \
     ( /* returns */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
     , /* params and defaults */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
     , /* const-bind vars */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
     , /* const-bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
+ decl_traits) \
     , /* bind vars */ \
         BOOST_PP_LIST_APPEND( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BINDS(decl_traits), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS(decl_traits), \
                 ( (var_without_type, var_with_type), BOOST_PP_NIL ) ) \
     , /* bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
     , /* error message (if any) */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
     )
 
 // this_type: `PP_EMPTY | type`.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_BIND_THIS_TYPE( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_BIND_THIS_TYPE( \
         decl_traits, this_type) \
     ( /* returns */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
     , /* params and defaults */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
     , /* const-bind vars */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
     , /* const-bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
+ decl_traits) \
     , /* bind vars */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
     , /* bind `this` types */ \
         BOOST_PP_LIST_APPEND( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES( \
+ decl_traits), \
                 ( (this_type), BOOST_PP_NIL ) ) \
     , /* error message (if any) */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
     )
 
 // var_without_type: `[&] var_` (var_ != this).
 // var_with_type: `BOOST_PP_EMPTY | type_ [&] name_` (var_ != this).
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_CONST_BIND( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_CONST_BIND( \
         decl_traits, var_without_type, var_with_type) \
     ( /* returns */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
     , /* params and defaults */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
     , /* const-bind vars */ \
         BOOST_PP_LIST_APPEND( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS( \
+ decl_traits), \
                 ( (var_without_type, var_with_type), BOOST_PP_NIL ) ) \
     , /* const-bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
+ decl_traits) \
     , /* bind vars */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
     , /* bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
     , /* error message (if any) */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
     )
 
 // this_type: `PP_EMPTY | type`.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_CONST_BIND_THIS_TYPE( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_CONST_BIND_THIS_TYPE( \
         decl_traits, this_type) \
     ( /* returns */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
     , /* params and defaults */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
     , /* const-bind vars */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
     , /* const-bind `this` types */ \
         BOOST_PP_LIST_APPEND( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
                         decl_traits), \
                 ( (this_type), BOOST_PP_NIL ) ) \
     , /* bind vars */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
     , /* bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
     , /* error message (if any) */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
     )
 
 #endif // #include guard

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/index.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/index.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/index.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,17 +4,17 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_HPP_
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_RETURNS 0
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_PARAMS 1
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_CONST_BINDS 2
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_CONST_BIND_THIS_TYPES 3
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_BINDS 4
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_BIND_THIS_TYPES 5
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_ERROR 6
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_MAX 7
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_RETURNS 0
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_PARAMS 1
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_CONST_BINDS 2
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_CONST_BIND_THIS_TYPES 3
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_BINDS 4
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_BIND_THIS_TYPES 5
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_ERROR 6
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_MAX 7
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/nil.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/nil.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/nil.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,12 +4,12 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_NIL_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_NIL_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_NIL_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_NIL_HPP_
 
 #include <boost/preprocessor/facilities/empty.hpp>
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_NIL \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_NIL \
     ( \
         /* returns: list of `return result_type` */ \
         BOOST_PP_NIL /* nil list */ \

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/set_error.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/set_error.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/set_error.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,30 +4,31 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_SET_ERROR_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SET_ERROR_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SET_ERROR_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SET_ERROR_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/decl_returns.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_params.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_const_binds.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_binds.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_returns.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_params.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_const_binds.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_binds.hpp>
 
 // PUBLIC //
 
 // error: `[ERROR_message_text] EMPTY`, no ERROR_message_text if no error.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SET_ERROR(decl_traits, error) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SET_ERROR(decl_traits, error) \
     ( /* return types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
     , /* params and defaults */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
     , /* const-bind names */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
     , /* const-bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
+ decl_traits) \
     , /* bind names */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
     , /* bind `this` types */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
     , /* error message (if any) */ \
         error \
     )

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/validate.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/validate.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/validate.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,18 +4,18 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_VALIDATE_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_VALIDATE_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_VALIDATE_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_VALIDATE_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/decl_/validate_/this_count.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_/validate_/return_count.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/validate_/this_count.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/validate_/return_count.hpp>
 
 // PUBLIC //
 
 // Validate params after they have been parsed.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_VALIDATE(decl_traits) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_VALIDATE_THIS_COUNT( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_VALIDATE_RETURN_COUNT( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_VALIDATE(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_VALIDATE_THIS_COUNT( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_VALIDATE_RETURN_COUNT( \
         decl_traits \
     ))
 

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/validate_/return_count.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/validate_/return_count.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/validate_/return_count.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,11 +4,11 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_VALIDATE_RETURN_COUNT_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_VALIDATE_RETURN_COUNT_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_VALIDATE_RETURN_COUNT_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_VALIDATE_RETURN_COUNT_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/decl_/set_error.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_returns.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/set_error.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_returns.hpp>
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/facilities/empty.hpp>
 #include <boost/preprocessor/tuple/eat.hpp>
@@ -17,10 +17,11 @@
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_VALIDATE_RETURN_COUNT(decl_traits) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_VALIDATE_RETURN_COUNT( \
+ decl_traits) \
     BOOST_PP_IIF(BOOST_PP_GREATER(BOOST_PP_LIST_SIZE( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS(decl_traits)), 1), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SET_ERROR \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS(decl_traits)), 1), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SET_ERROR \
     , /* else do nothing (keeping previous error, if any) */ \
         decl_traits BOOST_PP_TUPLE_EAT(2) \
     )(decl_traits, /* trailing `EMPTY` because error might not be present */ \

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/validate_/this_count.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/validate_/this_count.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_/validate_/this_count.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,12 +4,12 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_VALIDATE_THIS_COUNT_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_VALIDATE_THIS_COUNT_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_VALIDATE_THIS_COUNT_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_VALIDATE_THIS_COUNT_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/decl_/set_error.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_const_binds.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_binds.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/set_error.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_const_binds.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_binds.hpp>
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/facilities/empty.hpp>
 #include <boost/preprocessor/tuple/eat.hpp>
@@ -19,13 +19,15 @@
 
 // PUBLIC //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_VALIDATE_THIS_COUNT(decl_traits) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_VALIDATE_THIS_COUNT( \
+ decl_traits) \
     BOOST_PP_IIF(BOOST_PP_GREATER(BOOST_PP_LIST_SIZE(BOOST_PP_LIST_APPEND( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
                     decl_traits), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits))), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES( \
+ decl_traits))), \
             1), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SET_ERROR \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SET_ERROR \
     , /* do nothing (keeping previous error, if any) */ \
         decl_traits BOOST_PP_TUPLE_EAT(2) \
     )(decl_traits, /* trailing `EMPTY` because error might not be present */ \

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_binds.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_binds.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_binds.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,30 +4,31 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_BINDS_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BINDS_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/decl_/index.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/index.hpp>
 #include <boost/preprocessor/tuple/elem.hpp>
 #include <boost/preprocessor/list/transform.hpp>
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_APPLY_( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_APPLY_( \
         d, bind_macro, bind_traits) \
     bind_macro(bind_traits)
 
 // PUBLIC //
 
 // Expand: pp-list of non-const bind-traits.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
- BOOST_PP_TUPLE_ELEM(BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_MAX, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_BINDS, decl_traits)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BINDS(decl_traits) \
+ BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_MAX, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_BINDS, decl_traits)
 
 // Expand: pp-list non-const bind-this-traits (size <= 1 after validation).
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
- BOOST_PP_TUPLE_ELEM(BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_MAX, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_BIND_THIS_TYPES, decl_traits)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_BIND_THIS_TYPES(decl_traits) \
+ BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_MAX, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_BIND_THIS_TYPES, \
+ decl_traits)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_const_binds.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_const_binds.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_const_binds.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,32 +4,36 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/bind.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_/index.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/bind.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/index.hpp>
 #include <boost/preprocessor/tuple/elem.hpp>
 #include <boost/preprocessor/list/transform.hpp>
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_APPLY_( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_APPLY_( \
         d, bind_macro, bind_traits) \
     bind_macro(bind_traits)
 
 // PUBLIC //
 
 // Expand: pp-list of const bind-traits.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
- BOOST_PP_TUPLE_ELEM(BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_MAX, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_CONST_BINDS, decl_traits)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BINDS(decl_traits) \
+ BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_MAX, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_CONST_BINDS, \
+ decl_traits)
 
 // Expand: pp-list of const bind-this-traits (size <= 1 after validation).
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES(decl_traits) \
- BOOST_PP_TUPLE_ELEM(BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_MAX, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_CONST_BIND_THIS_TYPES, \
- decl_traits)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_CONST_BIND_THIS_TYPES( \
+ decl_traits) \
+ BOOST_PP_TUPLE_ELEM( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_MAX \
+ , BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_CONST_BIND_THIS_TYPES \
+ , decl_traits \
+ )
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_error.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_error.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_error.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,22 +4,23 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_ERROR_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/decl_/index.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/index.hpp>
 #include <boost/preprocessor/tuple/elem.hpp>
 
 // PUBLIC //
 
 // Expand: `[ERROR_message_text] EMPTY`, EMPTY iff no pp-parsing error.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
- BOOST_PP_TUPLE_ELEM(BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_MAX, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_ERROR, decl_traits)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
+ BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_MAX, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_ERROR, decl_traits)
 
 // Expand: `[ERROR_message_text]`, EMPTY iff no pp-parsing error.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR_MSG(decl_traits) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_ERROR(decl_traits)(/* expand EMPTY */)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR_MSG(decl_traits) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_ERROR(decl_traits) \
+ (/* expand EMPTY */)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_params.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_params.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_params.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,12 +4,12 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/decl_/index.hpp>
-#include <boost/closure/aux_/preprocessor/traits/param.hpp>
-#include <boost/closure/detail/preprocessor/keyword/default.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/index.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/param.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/default.hpp>
 #include <boost/preprocessor/tuple/elem.hpp>
 #include <boost/preprocessor/tuple/eat.hpp>
 #include <boost/preprocessor/tuple/rem.hpp>
@@ -22,36 +22,37 @@
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS_DEFAULT_OP_(s, \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS_DEFAULT_OP_(s, \
         default_count, param_traits) \
- BOOST_PP_IIF(BOOST_PP_IS_EMPTY(BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_DEFAULT( \
- param_traits)), \
+ BOOST_PP_IIF(BOOST_PP_IS_EMPTY( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_DEFAULT(param_traits)), \
         BOOST_PP_TUPLE_REM(1) \
     , \
         BOOST_PP_INC \
     )(default_count)
 
 // Precondition: params is a pp-list which is not nil.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS_DEFAULT_COUNT_(params) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS_DEFAULT_COUNT_(params) \
     BOOST_PP_LIST_FOLD_LEFT( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS_DEFAULT_OP_, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS_DEFAULT_OP_, \
             0 /* start with defaults_count to 0 */, params)
 
 // PUBLIC //
 
 // Expand: pp-list of param-traits (no bound variables).
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
- BOOST_PP_TUPLE_ELEM(BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_MAX, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_PARAMS, decl_traits)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits) \
+ BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_MAX, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_PARAMS, decl_traits)
 
 // Expand: number of parameters with default values (0 if no default).
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS_DEFAULT_COUNT(decl_traits) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS_DEFAULT_COUNT( \
+ decl_traits) \
     BOOST_PP_IIF(BOOST_PP_LIST_IS_CONS( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits)), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS_DEFAULT_COUNT_ \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits)), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS_DEFAULT_COUNT_ \
     , \
         0 BOOST_PP_TUPLE_EAT(1) \
- )(BOOST_CLOSURE_AUX_PP_DECL_TRAITS_PARAMS(decl_traits))
+ )(BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_PARAMS(decl_traits))
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_returns.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_returns.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_returns.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -1,16 +1,16 @@
 
-#ifndef BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/decl_/index.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/index.hpp>
 #include <boost/preprocessor/tuple/elem.hpp>
 
 // PUBLIC //
 
 // Expand: pp-list of result types (size <= 1 after validation).
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
- BOOST_PP_TUPLE_ELEM(BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_MAX, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_INDEX_RETURNS, decl_traits)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_RETURNS(decl_traits) \
+ BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_MAX, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_INDEX_RETURNS, decl_traits)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/any_bind_type.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/any_bind_type.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/any_bind_type.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,73 +4,80 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_TYPE_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_TYPE_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_TYPE_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_TYPE_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/const_bind.hpp>
-#include <boost/closure/detail/preprocessor/keyword/this.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/const_bind.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/this.hpp>
 #include <boost/preprocessor/cat.hpp>
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/facilities/empty.hpp>
 #include <boost/preprocessor/facilities/expand.hpp>
 #include <boost/preprocessor/tuple/eat.hpp>
 #include <boost/preprocessor/tuple/rem.hpp>
-// IS_UNARY is part of details because it does not work on BCC compiler.
 #include <boost/preprocessor/detail/is_unary.hpp>
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITH_TYPE_(sign) \
- BOOST_PP_EXPAND( \
- BOOST_PP_TUPLE_REM(1) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_FRONT(sign) \
- ) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITH_TYPE_(sign) \
+ /* using PP_EXPAND here does not work on MSVC */ \
+ BOOST_PP_TUPLE_REM(1) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_FRONT(sign) \
     BOOST_PP_EMPTY /* always trail EMPTY because bind type is optional */
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE_(sign) \
- BOOST_PP_EXPAND( \
- BOOST_PP_TUPLE_EAT(1) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_FRONT(sign) \
- )
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE_( \
+ sign) \
+ /* using PP_EXPAND here does not work on MSVC */ \
+ BOOST_PP_TUPLE_EAT(1) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_FRONT(sign)
 
-#define this_BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_REMOVE_THIS \
+#define this_BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_REMOVE_THIS_ \
     /* must expand to nothing */
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_THIS_TYPE_(sign) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITH_TYPE( \
- /* can't use `THIS_REMOVE_BACK` because `sign` contains multiple */ \
- /* tokens (and not just one token) so `IS_THIS_BACK` does not work */ \
- /* (but we know `sign` ends with this if we here so we can */ \
- /* manually force the removal using `CAT`) */ \
- BOOST_PP_CAT(sign, _BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_REMOVE_THIS) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_THIS_TYPE_(sign) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITH_TYPE( \
+ /* can't use `THISUNDERSCIRE_REMOVE_BACK` because `sign` contains */ \
+ /* multiple tokens (and not just one token) so */ \
+ /* `IS_THISUNDERSCORE_BACK` does not work (but we know `sign` ends */ \
+ /* with this_ if we here so we can manually force the removal using */ \
+ BOOST_PP_CAT(sign, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_REMOVE_THIS_) \
     ) \
     /* do not append PP_EMPTY because ANY_BIND_WITH_TYPE macro above */ \
     /* already appends it */
 
 // PUBLIC //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_HAS_TYPE(sign) \
- BOOST_PP_IS_UNARY(BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_FRONT( \
- sign))
-
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITH_TYPE(sign) \
- BOOST_PP_IIF(BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_HAS_TYPE(sign),\
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITH_TYPE_ \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_HAS_TYPE(sign) \
+ BOOST_PP_IS_UNARY( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_FRONT( \
+ sign))
+
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITH_TYPE(sign) \
+ BOOST_PP_IIF( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_HAS_TYPE( \
+ sign),\
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITH_TYPE_ \
     , \
         BOOST_PP_EMPTY \
         BOOST_PP_TUPLE_EAT(1) \
     )(sign)
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE(sign) \
- BOOST_PP_IIF(BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_HAS_TYPE(sign),\
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE_ \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE( \
+ sign) \
+ BOOST_PP_IIF( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_HAS_TYPE( \
+ sign),\
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE_ \
     , \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_FRONT \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_FRONT \
     )(sign)
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_THIS_TYPE(sign) \
- BOOST_PP_IIF(BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_HAS_TYPE(sign),\
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_THIS_TYPE_ \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_THIS_TYPE(sign) \
+ BOOST_PP_IIF( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_HAS_TYPE( \
+ sign),\
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_THIS_TYPE_ \
     , \
         BOOST_PP_EMPTY \
         BOOST_PP_TUPLE_EAT(1) \

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/sign.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/sign.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/sign.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,20 +4,20 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/decl_sign_/validate.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_sign_/any_bind_type.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_/nil.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_/set_error.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_/validate.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_/append.hpp>
-#include <boost/closure/detail/preprocessor/keyword/const_bind.hpp>
-#include <boost/closure/detail/preprocessor/keyword/bind.hpp>
-#include <boost/closure/detail/preprocessor/keyword/return.hpp>
-#include <boost/closure/detail/preprocessor/keyword/default.hpp>
-#include <boost/closure/detail/preprocessor/keyword/thisunderscore.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_sign_/validate.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_sign_/any_bind_type.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/nil.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/set_error.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/validate.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_/append.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/const_bind.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/bind.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/return.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/default.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/thisunderscore.hpp>
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/facilities/is_empty.hpp>
 #include <boost/preprocessor/list/fold_left.hpp>
@@ -26,100 +26,112 @@
 
 // Parse const binds.
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_CONST_BIND_THIS_( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_CONST_BIND_THIS_( \
         decl_traits, sign) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_CONST_BIND_THIS_TYPE(decl_traits, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_THIS_TYPE(sign))
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_CONST_BIND_THIS_TYPE( \
+ decl_traits, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_THIS_TYPE( \
+ sign))
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_CONST_BIND_VAR_( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_CONST_BIND_VAR_( \
         decl_traits, sign) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_CONST_BIND(decl_traits, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE(sign), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITH_TYPE(sign))
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_CONST_BIND(decl_traits, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE(\
+ sign), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITH_TYPE( \
+ sign))
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_CONST_BIND_( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_CONST_BIND_( \
         decl_traits, sign) \
     /* check from back because non `this` bounds might have `&` in front */ \
- BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK( \
+ BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK(\
             /* remove all leading symbols `[const] bind [(type)] ...` */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE(sign)),\
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_CONST_BIND_THIS_ \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE(\
+ sign)),\
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_CONST_BIND_THIS_ \
     , \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_CONST_BIND_VAR_ \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_CONST_BIND_VAR_ \
     )(decl_traits, sign)
 
 // Parse binds.
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_BIND_THIS_( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_BIND_THIS_( \
         decl_traits, sign) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_BIND_THIS_TYPE(decl_traits, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_THIS_TYPE(sign))
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_BIND_THIS_TYPE(decl_traits, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_THIS_TYPE( \
+ sign))
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_BIND_VAR_( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_BIND_VAR_( \
         decl_traits, sign) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_BIND(decl_traits, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_BIND(decl_traits, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE(\
                     sign), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITH_TYPE(sign))
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITH_TYPE( \
+ sign))
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_BIND_(decl_traits, sign) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_BIND_( \
+ decl_traits, sign) \
     /* check from back because non `this` bounds might have `&` in front */ \
- BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK( \
+ BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK(\
             /* remove all leading symbols `[const] bind [(type)] ...` */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ANY_BIND_WITHOUT_TYPE(\
                     sign)), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_BIND_THIS_ \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_BIND_THIS_ \
     , \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_BIND_VAR_ \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_BIND_VAR_ \
     )(decl_traits, sign)
 
 // Parse all elements.
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_(s, decl_traits, sign) \
- BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RETURN_FRONT(sign), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_RETURN \
- , BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_BIND_FRONT(sign), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_BIND_ \
- , BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT(sign), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_CONST_BIND_ \
- , BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT(sign), \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_( \
+ s, decl_traits, sign) \
+ BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RETURN_FRONT(sign), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_RETURN \
+ , BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_BIND_FRONT(sign), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_BIND_ \
+ , BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT( \
+ sign), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_CONST_BIND_ \
+ , BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT( \
+ sign), \
         /* elem is `default ...` where leading default is kept because */ \
         /* default value might not be alphanumeric (so it fails later CAT */ \
         /* for checks), leading default will be removed later when getting */ \
         /* the default value */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_PARAM_DEFAULT \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_PARAM_DEFAULT \
     , /* else, it is a function parameter */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_APPEND_PARAM \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_APPEND_PARAM \
     ))))(decl_traits, sign)
 
 // Parse params after following precondition has been validated by caller.
 // Precondition: If list contains a default param value `..., default, ...`,
 // the default value element is never 1st (it always has a previous elem) and
 // its previous element is a unbind param (no const-bind and no bind).
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID(sign) \
- BOOST_PP_LIST_FOLD_LEFT(BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID_, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_NIL, sign)
-
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_YES_(sign, unused) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_VALIDATE( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALID(sign))
-
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_NO_(unused, error) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SET_ERROR( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_NIL, error)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID(sign) \
+ BOOST_PP_LIST_FOLD_LEFT( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID_, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_NIL, sign)
+
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_OK_(sign, unused) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_VALIDATE( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALID(sign))
+
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ERR_(unused, error) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SET_ERROR( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_NIL, error)
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_(sign, defaults_error) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_(sign, defaults_error) \
     BOOST_PP_IIF(BOOST_PP_IS_EMPTY(defaults_error (/* expand EMPTY */)), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_YES_ \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_OK_ \
     , \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_NO_ \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_ERR_ \
     )(sign, defaults_error)
 
 // PUBLIC //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN(sign) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_(sign, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE(sign))
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN(sign) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_(sign, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE(sign))
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,18 +4,18 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_HPP_
 
-#include <boost/closure/aux_/preprocessor/traits/decl_sign_/validate_/defaults.hpp>
-#include <boost/closure/aux_/preprocessor/traits/decl_sign_/validate_/this.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_/defaults.hpp>
+#include <boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_/this.hpp>
 #include <boost/preprocessor/tuple/eat.hpp>
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_1_(sign, error) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_1_(sign, error) \
     BOOST_PP_IIF(BOOST_PP_IS_EMPTY(error(/* expand empty */)), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS \
     , \
         error BOOST_PP_TUPLE_EAT(1) \
     )(sign)
@@ -23,9 +23,9 @@
 // PUBLIC //
 
 // Validate params before starting to parse it.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE(sign) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_1_(sign, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS(sign))
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE(sign) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_1_(sign, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS(sign))
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_/defaults.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_/defaults.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_/defaults.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,12 +4,12 @@
 // 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_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/const_bind.hpp>
-#include <boost/closure/detail/preprocessor/keyword/bind.hpp>
-#include <boost/closure/detail/preprocessor/keyword/default.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/const_bind.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/bind.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/default.hpp>
 #include <boost/preprocessor/cat.hpp>
 #include <boost/preprocessor/control/while.hpp>
 #include <boost/preprocessor/control/iif.hpp>
@@ -30,23 +30,25 @@
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_IS_UNBIND_( \
+#define \
+BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_IS_UNBIND_( \
         sign) \
     /* PP_OR/PP_BITOR (instead of IIF) don't expand on MSVC */ \
- BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT(sign), \
+ BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT(sign),\
         0 \
- , BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT(sign), \
+ , BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT( \
+ sign), \
         0 \
- , BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_BIND_FRONT(sign), \
+ , BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_BIND_FRONT(sign), \
         0 \
     , \
         1 \
     )))
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_PREV_( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_PREV_( \
         sign, index, error) \
     BOOST_PP_IIF( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_IS_UNBIND_(\
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_IS_UNBIND_( \
                     BOOST_PP_LIST_AT(sign, BOOST_PP_DEC(index))), \
         error /* no err, fwd existing one if any */ \
     , \
@@ -55,10 +57,10 @@
         BOOST_PP_EMPTY /* because error might not be present */ \
     )
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_INDEX_( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_INDEX_( \
         sign, index, error) \
     BOOST_PP_IF(index, /* can't use IIF because index can be any number */ \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_PREV_ \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_PREV_ \
     , \
         ERROR_default_value_cannot_be_specified_as_the_first_element \
         BOOST_PP_EMPTY /* because error might not be present */ \
@@ -67,40 +69,42 @@
 
 // While's operation.
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_OP_DATA_( \
+#define \
+BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_OP_DATA_( \
         sign, index, error) \
     ( \
         sign \
     , \
         BOOST_PP_INC(index) \
     , \
- BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT( \
+ BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT( \
                 BOOST_PP_LIST_AT(sign, index)), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_INDEX_ \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_INDEX_ \
         , \
             error BOOST_PP_TUPLE_EAT(3) /* no err, fwd existing one if any */\
         )(sign, index, error) \
     )
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_OP_(d, \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_OP_(d, \
         sign_index_error) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_OP_DATA_( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_OP_DATA_( \
             BOOST_PP_TUPLE_ELEM(3, 0, sign_index_error), \
             BOOST_PP_TUPLE_ELEM(3, 1, sign_index_error), \
             BOOST_PP_TUPLE_ELEM(3, 2, sign_index_error))
 
 // While predicate.
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_PRED_DATA_( \
+#define \
+BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_PRED_DATA_( \
         sign, index, error) \
     BOOST_PP_BITAND( \
           BOOST_PP_IS_EMPTY(error (/* expand empty */) ) \
         , BOOST_PP_LESS(index, BOOST_PP_LIST_SIZE(sign)) \
     )
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_PRED_(d, \
- sign_index_error) \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_PRED_DATA_( \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_PRED_( \
+ d, sign_index_error) \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_PRED_DATA_( \
             BOOST_PP_TUPLE_ELEM(3, 0, sign_index_error), \
             BOOST_PP_TUPLE_ELEM(3, 1, sign_index_error), \
             BOOST_PP_TUPLE_ELEM(3, 2, sign_index_error))
@@ -110,10 +114,10 @@
 // Validate parameters default values: `default ...` cannot be 1st element and
 // it must follow an unbind param. Expand to `EMPTY` if no error, or
 // `ERROR_message EMPTY` if error.
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS(sign) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS(sign) \
     BOOST_PP_TUPLE_ELEM(3, 2, BOOST_PP_WHILE( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_PRED_, \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_OP_, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_PRED_, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_DEFAULTS_OP_,\
             (sign, 0, BOOST_PP_EMPTY)))
 
 #endif // #include guard

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_/this.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_/this.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/decl_sign_/validate_/this.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -1,11 +1,11 @@
 
-#ifndef BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_HPP_
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/this.hpp>
-#include <boost/closure/detail/preprocessor/keyword/const.hpp>
-#include <boost/closure/detail/preprocessor/keyword/bind.hpp>
-#include <boost/closure/detail/preprocessor/keyword/const_bind.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/this.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/const.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/bind.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/const_bind.hpp>
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/tuple/eat.hpp>
 #include <boost/preprocessor/facilities/empty.hpp>
@@ -13,30 +13,47 @@
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_VAR_( \
+#define \
+BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_TYPED_EAT_(elem) \
+ /* must be in separate macro to delay expansion */ \
+ BOOST_PP_TUPLE_EAT(1) elem
+
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_TYPED_( \
+ elem) \
+ BOOST_PP_IIF(BOOST_PP_IS_UNARY(elem), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_TYPED_EAT_ \
+ , \
+ BOOST_PP_TUPLE_REM(1) \
+ )(elem)
+
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_VAR_( \
         s, error, elem) \
- BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THIS_BACK( \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_REMOVE_FRONT( \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_REMOVE_FRONT(elem))), \
+ BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THIS_BACK( \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_TYPED_( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE_FRONT( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_REMOVE_FRONT( \
+ elem)))), \
         ERROR_use_this_underscore_instead_of_this BOOST_PP_EMPTY \
     , \
         error \
     )
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_(s, error, elem) \
- BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_BIND_FRONT(elem), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_VAR_ \
- , BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT(elem), \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_VAR_ \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_( \
+ s, error, elem) \
+ BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_BIND_FRONT(elem), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_VAR_ \
+ , BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT( \
+ elem), \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_VAR_ \
     , \
         error BOOST_PP_TUPLE_EAT(3) \
     ))(s, error, elem)
 
 // PUBLIC //
 
-#define BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS(sign) \
+#define BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS(sign) \
     BOOST_PP_LIST_FOLD_LEFT( \
- BOOST_CLOSURE_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS_SIGN_VALIDATE_THIS_, \
             BOOST_PP_EMPTY, sign)
 
 #endif // #include guard

Modified: sandbox/closure/boost/local_function/aux_/preprocessor/traits/param.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/preprocessor/traits/param.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/preprocessor/traits/param.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,32 +4,32 @@
 // 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_CLOSURE_AUX_PP_PARAM_TRAITS_HPP_
-#define BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_HPP_
 
 #include <boost/preprocessor/tuple/elem.hpp>
 
 // PRIVATE //
 
 // Param 2-tuple `([auto | register] type name, default_value)`.
-#define BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_INDEX_DECL_ 0
-#define BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_INDEX_DEFAULT_ 1
-#define BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_INDEX_MAX_ 2
+#define BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_INDEX_DECL_ 0
+#define BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_INDEX_DEFAULT_ 1
+#define BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_INDEX_MAX_ 2
 
 // PUBLIC //
 
 // Expand: `[auto | register] type_ name_` (parameter declaration).
-#define BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_DECL(param_traits) \
- BOOST_PP_TUPLE_ELEM(BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_INDEX_MAX_, \
- BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_INDEX_DECL_, param_traits)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_DECL(param_traits) \
+ BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_INDEX_MAX_, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_INDEX_DECL_, param_traits)
 
 // Expand: `default ... EMPTY()` if default value, `EMPTY()` otherwise.
 // Leading default is kept because default value might not be alphanumeric
 // (e.g., -123) so failing `CAT` for `IS_EMPTY` check.
-#define BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_DEFAULT(param_traits) \
- BOOST_PP_TUPLE_ELEM(BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_INDEX_MAX_, \
- BOOST_CLOSURE_AUX_PP_PARAM_TRAITS_INDEX_DEFAULT_, param_traits) \
- (/* expand EMPTY */)
+#define BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_DEFAULT(param_traits) \
+ BOOST_PP_TUPLE_ELEM(BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_INDEX_MAX_, \
+ BOOST_LOCAL_FUNCTION_AUX_PP_PARAM_TRAITS_INDEX_DEFAULT_, \
+ param_traits)(/* expand EMPTY */)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/aux_/symbol.hpp
==============================================================================
--- sandbox/closure/boost/local_function/aux_/symbol.hpp (original)
+++ sandbox/closure/boost/local_function/aux_/symbol.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,8 +4,8 @@
 // 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_CLOSURE_AUX_SYMBOL_HPP_
-#define BOOST_CLOSURE_AUX_SYMBOL_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_AUX_SYMBOL_HPP_
+#define BOOST_LOCAL_FUNCTION_AUX_SYMBOL_HPP_
 
 #include <boost/preprocessor/cat.hpp>
 #include <boost/preprocessor/seq/cat.hpp>
@@ -24,22 +24,26 @@
 // uppercase letter is reserved to the implementation" and (2) "each name that
 // begins with an underscore is reserved to the implementation for use as a
 // name in the global namespace".
-#define BOOST_CLOSURE_AUX_SYMBOL_INFIX_ X // `X` used as separator.
+#define BOOST_LOCAL_FUNCTION_AUX_SYMBOL_INFIX_ X // `X` used as separator.
+
+#define BOOST_LOCAL_FUNCTION_AUX_SYMBOL_PREFIX_ boost_local_function_aux
 
-#define BOOST_CLOSURE_AUX_SYMBOL_POSTFIX_(s, unused, tokens) \
- BOOST_PP_CAT(tokens, BOOST_CLOSURE_AUX_SYMBOL_INFIX_)
+#define BOOST_LOCAL_FUNCTION_AUX_SYMBOL_POSTFIX_(s, unused, tokens) \
+ BOOST_PP_CAT(tokens, BOOST_LOCAL_FUNCTION_AUX_SYMBOL_INFIX_)
 
 // PUBLIC //
 
 // Prefixes this library reserved symbol.
-#define BOOST_CLOSURE_AUX_SYMBOL(seq) \
- BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_TRANSFORM(BOOST_CLOSURE_AUX_SYMBOL_POSTFIX_, \
- ~, (boost_closure_aux) seq ))
+#define BOOST_LOCAL_FUNCTION_AUX_SYMBOL(seq) \
+ BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_TRANSFORM( \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL_POSTFIX_, \
+ ~, (BOOST_LOCAL_FUNCTION_AUX_SYMBOL_PREFIX_) seq ))
 
 // Postfixes this library reserved symbol.
-#define BOOST_CLOSURE_AUX_SYMBOL_POSTFIX(seq) \
- BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_TRANSFORM(BOOST_CLOSURE_AUX_SYMBOL_POSTFIX_, \
- ~, seq (boost_closure_aux) ))
+#define BOOST_LOCAL_FUNCTION_AUX_SYMBOL_POSTFIX(seq) \
+ BOOST_PP_SEQ_CAT(BOOST_PP_SEQ_TRANSFORM( \
+ BOOST_LOCAL_FUNCTION_AUX_SYMBOL_POSTFIX_, \
+ ~, seq (BOOST_LOCAL_FUNCTION_AUX_SYMBOL_PREFIX_) ))
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/auto.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/auto.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/auto.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,54 +4,54 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_AUTO_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/facility/is.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/add.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/remove.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/is.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_IS_auto (1) /* unary */
-#define auto_BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_IS (1) /* unary */
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_REMOVE_auto /* nothing */
-#define auto_BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_REMOVE /* nothing */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_IS_auto (1) /* unary */
+#define auto_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_IS (1) /* unary */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_REMOVE_auto /* nothing */
+#define auto_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_AUTO_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_IS_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_AUTO_BACK(token) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_IS)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_AUTO_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_IS_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_AUTO_BACK(token) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_IS)
 
 // Remove.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_REMOVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_AUTO_FRONT, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_REMOVE_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_REMOVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_AUTO_BACK, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_REMOVE)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_REMOVE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_AUTO_FRONT, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_REMOVE_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_REMOVE_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_AUTO_BACK, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_REMOVE)
 
 // Add.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_ADD_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_AUTO_FRONT, auto)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_AUTO_ADD_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_AUTO_BACK, auto)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_ADD_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_AUTO_FRONT, auto)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_AUTO_ADD_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_AUTO_BACK, auto)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/bind.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/bind.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/bind.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,54 +4,54 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_BIND_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/facility/is.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/add.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/remove.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/is.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_IS_bind (1) /* unary */
-#define bind_BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_IS (1) /* unary */
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_REMOVE_bind /* nothing */
-#define bind_BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_REMOVE /* nothing */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_IS_bind (1) /* unary */
+#define bind_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_IS (1) /* unary */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE_bind /* nothing */
+#define bind_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_BIND_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_IS_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_BIND_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(tokens, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_IS)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_BIND_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_IS_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_BIND_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(tokens, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_IS)
 
 // Remove.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_REMOVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_BIND_FRONT, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_REMOVE_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_REMOVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_BIND_BACK, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_REMOVE)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_BIND_FRONT, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_BIND_BACK, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE)
 
 // Add.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_ADD_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_BIND_FRONT, bind)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_ADD_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_BIND_BACK, bind)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_ADD_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_BIND_FRONT, bind)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_ADD_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_BIND_BACK, bind)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/const.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/const.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/const.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,54 +4,54 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_CONST_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/facility/is.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/add.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/remove.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/is.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_IS_const (1) /* unary */
-#define const_BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_IS (1) /* unary */
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_REMOVE_const /* nothing */
-#define const_BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_REMOVE /* nothing */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_IS_const (1) /* unary */
+#define const_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_IS (1) /* unary */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_REMOVE_const /* nothing */
+#define const_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_IS_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BACK(token) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_IS)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_IS_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BACK(token) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_IS)
 
 // Remove.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_REMOVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_FRONT, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_REMOVE_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_REMOVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BACK, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_REMOVE)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_REMOVE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_FRONT, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_REMOVE_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_REMOVE_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BACK, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_REMOVE)
 
 // Add.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_ADD_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_FRONT, const)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_ADD_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BACK, const)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_ADD_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_FRONT, const)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_ADD_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BACK, const)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/const_bind.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/const_bind.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/const_bind.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,68 +4,70 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_CONST_BIND_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_BIND_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_BIND_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_BIND_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/bind.hpp>
-#include <boost/closure/detail/preprocessor/keyword/const.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/bind.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/const.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/add.hpp>
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/tuple/eat.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_IS_bind (1) /* unary */
-#define bind_BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_IS (1) /* unary */
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_REMOVE_bind /* nothing */
-#define bind_BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_REMOVE /* nothing */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_IS_bind (1) /* unary */
+#define bind_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_IS (1) /* unary */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE_bind /* nothing */
+#define bind_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT_(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_BIND_FRONT( \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_REMOVE_FRONT(tokens))
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT(tokens) \
- BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_FRONT(tokens), \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT_ \
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT_(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_BIND_FRONT( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_REMOVE_FRONT(tokens))
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT(tokens) \
+ BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_FRONT(tokens),\
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT_ \
     , \
         0 BOOST_PP_TUPLE_EAT(1) \
     )(tokens)
         
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BIND_BACK_(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BACK( \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_REMOVE_BACK(tokens))
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONDT_BIND_BACK(tokens) \
- BOOST_PP_IIF(BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_BIND_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BIND_BACK_ \
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BIND_BACK_(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BACK( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE_BACK(tokens))
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONDT_BIND_BACK(tokens) \
+ BOOST_PP_IIF(BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_BIND_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BIND_BACK_ \
     , \
         0 BOOST_PP_TUPLE_EAT(1) \
     )(tokens)
 
 // Remove.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_REMOVE_FRONT( \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_REMOVE_FRONT(tokens))
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_REMOVE_BACK( \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_BIND_REMOVE_BACK(tokens))
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE_FRONT( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_REMOVE_FRONT(tokens))
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_BIND_REMOVE_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_REMOVE_BACK( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_BIND_REMOVE_BACK(tokens))
 
 // Add.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_BIND_ADD_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT, const bind)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_CONST_BIND_ADD_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_CONST_BIND_BACK, const bind)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_BIND_ADD_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BIND_FRONT, \
+ const bind)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_CONST_BIND_ADD_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_CONST_BIND_BACK, \
+ const bind)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/default.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/default.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/default.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,54 +4,54 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/facility/is.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/add.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/remove.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/is.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_IS_default (1) /* unary */
-#define default_BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_IS (1) /* unary */
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_default /* nothing */
-#define default_BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_REMOVE /* nothing */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_IS_default (1)/* unary */
+#define default_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_IS (1)/* unary */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_default/*nothing*/
+#define default_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_REMOVE/*nothing*/
 
 // PUBLIC //
 
 // Is.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_IS_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_DEFAULT_BACK(token) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_IS)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_IS_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_DEFAULT_BACK(token) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_IS)
 
 // Remove.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_DEFAULT_BACK, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_REMOVE)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_REMOVE_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_DEFAULT_BACK, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_REMOVE)
 
 // Add.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_ADD_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT, default)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_DEFAULT_ADD_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_DEFAULT_BACK, default)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_ADD_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_DEFAULT_FRONT, default)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_DEFAULT_ADD_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_DEFAULT_BACK, default)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/facility/add.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/facility/add.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/facility/add.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,8 +4,8 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_HPP_
 
 #include <boost/preprocessor/control/expr_iif.hpp>
 #include <boost/preprocessor/logical/compl.hpp>

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/facility/is.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/facility/is.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/facility/is.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,8 +4,8 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_HPP_
 
 // Boost.Preprocessor author P. Mensodines confirmed on an Boost email thread
 // (subject ``check if a token is a keyword (was "BOOST_PP_IS_UNARY()")'')
@@ -19,14 +19,14 @@
 
 // PRIVATE //
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_(a, b) \
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_(a, b) \
     BOOST_PP_IS_UNARY(BOOST_PP_CAT(a, b))
 
 // PUBLIC //
 
 // `checking_prefix ## tokens` expand to unary (e.g., `(1)`) iff `tokens` start
 // with keyword to check.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT( \
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT( \
         tokens, checking_prefix) \
     BOOST_PP_IIF(BOOST_PP_IS_UNARY(tokens), \
         /* on MSVC this check works even if tokens already unary but on */ \
@@ -34,7 +34,7 @@
         /* a concatenation error -- so return false is tokens is not unary */ \
         0 BOOST_PP_TUPLE_EAT(2) \
     , \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_ \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_ \
     )(checking_prefix, tokens)
 
 // `token ## checking_postfix` expand to unary (e.g., `(1)`) iff `token` is the
@@ -42,9 +42,9 @@
 // will always expand to 0 if token is multiple tokens (e.g., `const *this`).
 // This check will expand to 0 with no error if `token` starts with a
 // non-alphanumeric symbol (e.g., `*this`).
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_BACK( \
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_BACK( \
         token, checking_postfix) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_(token, checking_postfix)
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_(token, checking_postfix)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/facility/remove.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/facility/remove.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/facility/remove.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,11 +4,12 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_HPP_
 
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/tuple/eat.hpp>
+#include <boost/preprocessor/config/config.hpp>
 #include <boost/preprocessor/cat.hpp>
 
 // PRIVATE //
@@ -16,25 +17,25 @@
 // From PP_EXPAND (my own reentrant version).
 #if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() && \
         ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
-# define BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT_EXPAND_(x) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT_EXPAND_I_(x)
+# define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_(x) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_I_(x)
 #else
-# define BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT_EXPAND_(x) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT_EXPAND_OO_((x))
-# define BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT_EXPAND_OO_( \
+# define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_(x) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_OO_((x))
+# define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_OO_( \
             par) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT_EXPAND_I_ ## par
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_I_ ## par
 #endif
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT_EXPAND_I_(x) x
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_I_(x) x
 
 // PUBLIC //
 
 // `is_front_macro(tokens)` is 1 if `tokens` start with keyword to remove.
 // `removing_prefix ## <keyword-to-remove>` must expand to nothing, else 0.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT( \
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT( \
         tokens, is_front_macro, removing_prefix) \
     /* without EXPAND doesn't expand on MSVC */ \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT_EXPAND_( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_EXPAND_( \
         BOOST_PP_IIF(is_front_macro(tokens), \
             BOOST_PP_CAT \
         , \
@@ -44,7 +45,7 @@
 
 // `is_back_macro(tokens)` is 1 iff `tokens` end with keyword to remove.
 // `<keyword-to-remove> ## removing_postfix` must expand to nothing, else 0.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK( \
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK( \
         tokens, is_back_macro, removing_prefix) \
     BOOST_PP_IIF(is_back_macro(tokens), \
         BOOST_PP_CAT \

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/inline.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/inline.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/inline.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,54 +4,54 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_INLINE_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/facility/is.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/add.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/remove.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/is.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_IS_inline (1) /* unary */
-#define inline_BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_IS (1) /* unary */
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_REMOVE_inline /* nothing */
-#define inline_BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_REMOVE /* nothing */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_IS_inline (1) /* unary */
+#define inline_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_IS (1) /* unary */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_REMOVE_inline/* nothing */
+#define inline_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_REMOVE/* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_INLINE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_IS_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_INLINE_BACK(token) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_IS)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_INLINE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_IS_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_INLINE_BACK(token) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_IS)
 
 // Remove.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_REMOVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_INLINE_FRONT, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_REMOVE_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_REMOVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_INLINE_BACK, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_REMOVE)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_REMOVE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_INLINE_FRONT, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_REMOVE_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_REMOVE_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_INLINE_BACK, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_REMOVE)
 
 // Add.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_ADD_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_INLINE_FRONT, inline)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_INLINE_ADD_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_INLINE_BACK, inline)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_ADD_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_INLINE_FRONT, inline)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_INLINE_ADD_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_INLINE_BACK, inline)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/recursive.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/recursive.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/recursive.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,54 +4,56 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/facility/is.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/add.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/remove.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/is.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_IS_recursive (1) /* unary */
-#define recursive_BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_IS (1) /* unary */
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_REMOVE_recursive /* nothing */
-#define recursive_BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_REMOVE /* nothing */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_IS_recursive (1)
+#define recursive_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_IS (1)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_REMOVE_recursive
+#define recursive_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_REMOVE
 
 // PUBLIC //
 
 // Is.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RECURSIVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_IS_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RECURSIVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(tokens, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_IS)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RECURSIVE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_IS_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RECURSIVE_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(tokens, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_IS)
 
 // Remove.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_REMOVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RECURSIVE_FRONT, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_REMOVE_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_REMOVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RECURSIVE_BACK, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_REMOVE)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_REMOVE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RECURSIVE_FRONT, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_REMOVE_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_REMOVE_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RECURSIVE_BACK, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_REMOVE)
 
 // Add.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_ADD_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RECURSIVE_FRONT, recursive)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RECURSIVE_ADD_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RECURSIVE_BACK, recursive)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_ADD_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RECURSIVE_FRONT, \
+ recursive)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RECURSIVE_ADD_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RECURSIVE_BACK, \
+ recursive)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/register.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/register.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/register.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,54 +4,54 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/facility/is.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/add.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/remove.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/is.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_IS_register (1) /* unary */
-#define register_BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_IS (1) /* unary */
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_REMOVE_register /* nothing */
-#define register_BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_REMOVE /* nothing */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_IS_register (1)/*unary*/
+#define register_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_IS (1)/*unary*/
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_REMOVE_register
+#define register_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_REMOVE
 
 // PUBLIC //
 
 // Is.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_REGISTER_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_IS_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_REGISTER_BACK(token) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_IS)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_REGISTER_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_IS_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_REGISTER_BACK(token) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_IS)
 
 // Remove.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_REMOVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_REGISTER_FRONT, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_REMOVE_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_REMOVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_REGISTER_BACK, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_REMOVE)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_REMOVE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_REGISTER_FRONT, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_REMOVE_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_REMOVE_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_REGISTER_BACK, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_REMOVE)
 
 // Add.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_ADD_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_REGISTER_FRONT, register)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_REGISTER_ADD_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_REGISTER_BACK, register)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_ADD_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_REGISTER_FRONT, register)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_REGISTER_ADD_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_REGISTER_BACK, register)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/return.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/return.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/return.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,54 +4,54 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_RETURN_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/facility/is.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/add.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/remove.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/is.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_IS_return (1) /* unary */
-#define return_BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_IS (1) /* unary */
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_REMOVE_return /* nothing */
-#define return_BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_REMOVE /* nothing */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_IS_return (1) /* unary */
+#define return_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_IS (1) /* unary */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_REMOVE_return /*nothing*/
+#define return_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_REMOVE /*nothing*/
 
 // PUBLIC //
 
 // Is.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RETURN_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_IS_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RETURN_BACK(token) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_IS)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RETURN_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_IS_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RETURN_BACK(token) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_IS)
 
 // Remove.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_REMOVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RETURN_FRONT, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_REMOVE_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_REMOVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RETURN_BACK, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_REMOVE)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_REMOVE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RETURN_FRONT, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_REMOVE_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_REMOVE_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RETURN_BACK, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_REMOVE)
 
 // Add.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_ADD_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RETURN_FRONT, return)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_RETURN_ADD_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_RETURN_BACK, return)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_ADD_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RETURN_FRONT, return)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_RETURN_ADD_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_RETURN_BACK, return)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/this.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/this.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/this.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,54 +4,54 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_THIS_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/facility/is.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/add.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/remove.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/is.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_IS_this (1) /* unary */
-#define this_BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_IS (1) /* unary */
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_REMOVE_this /* nothing */
-#define this_BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_REMOVE /* nothing */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_IS_this (1) /* unary */
+#define this_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_IS (1) /* unary */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_REMOVE_this /* nothing */
+#define this_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THIS_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_IS_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THIS_BACK(token) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_IS)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THIS_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_IS_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THIS_BACK(token) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_IS)
 
 // Remove.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_REMOVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THIS_FRONT, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_REMOVE_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_REMOVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THIS_BACK, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_REMOVE)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_REMOVE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THIS_FRONT, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_REMOVE_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_REMOVE_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THIS_BACK, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_REMOVE)
 
 // Add.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_ADD_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THIS_FRONT, this)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THIS_ADD_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THIS_BACK, this)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_ADD_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THIS_FRONT, this)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THIS_ADD_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THIS_BACK, this)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/thisunderscore.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/thisunderscore.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/thisunderscore.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,54 +4,59 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/facility/is.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/add.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/remove.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/is.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_ISthis_ (1) /* unary */
-#define this_BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_IS (1) /* unary */
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_REMOVEthis_ /* nothing */
-#define this_BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_REMOVE /* nothing */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_ISthis_ (1)
+#define this_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_IS (1)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_REMOVEthis_
+#define this_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_REMOVE
 
 // PUBLIC //
 
 // Is.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_IS)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK(token) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_IS)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_IS)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK(token) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_IS)
 
 // Remove.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_REMOVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_FRONT, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_REMOVE)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_REMOVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_REMOVE)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_REMOVE_FRONT( \
+ tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_FRONT, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_REMOVE)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_REMOVE_BACK( \
+ tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_REMOVE)
 
 // Add.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_ADD_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_FRONT, this_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_THISUNDERSCORE_ADD_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK, this_)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_ADD_FRONT( \
+ tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_FRONT, \
+ this_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_THISUNDERSCORE_ADD_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_THISUNDERSCORE_BACK, \
+ this_)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/keyword/void.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/keyword/void.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/keyword/void.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -4,54 +4,54 @@
 // 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_CLOSURE_DETAIL_PP_KEYWORD_VOID_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/facility/is.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/add.hpp>
-#include <boost/closure/detail/preprocessor/keyword/facility/remove.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/is.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/add.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/facility/remove.hpp>
 
 // PRIVATE //
 
 // These are not local macros -- DO NOT #UNDEF.
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_IS_void (1) /* unary */
-#define void_BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_IS (1) /* unary */
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_REMOVE_void /* nothing */
-#define void_BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_REMOVE /* nothing */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_IS_void (1) /* unary */
+#define void_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_IS (1) /* unary */
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_REMOVE_void /* nothing */
+#define void_BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_REMOVE /* nothing */
 
 // PUBLIC //
 
 // Is.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_VOID_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_IS_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_VOID_BACK(token) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_IS)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_VOID_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_IS_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_VOID_BACK(token) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_IS_BACK(token, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_IS)
 
 // Remove.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_REMOVE_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_VOID_FRONT, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_REMOVE_)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_REMOVE_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_VOID_BACK, \
- _BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_REMOVE)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_REMOVE_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_VOID_FRONT, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_REMOVE_)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_REMOVE_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_REMOVE_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_VOID_BACK, \
+ _BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_REMOVE)
 
 // Add.
 
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_ADD_FRONT(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_VOID_FRONT, void)
-
-#define BOOST_CLOSURE_DETAIL_PP_KEYWORD_VOID_ADD_BACK(tokens) \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_VOID_BACK, void)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_ADD_FRONT(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_FRONT(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_VOID_FRONT, void)
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_VOID_ADD_BACK(tokens) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_FACILITY_ADD_BACK(tokens, \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_VOID_BACK, void)
 
 #endif // #include guard
 

Modified: sandbox/closure/boost/local_function/detail/preprocessor/line_counter.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/line_counter.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/line_counter.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -1,6 +1,6 @@
 
-#ifndef BOOST_CLOSURE_DETAIL_PP_LINE_COUNTER_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_LINE_COUNTER_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER_HPP_
 
 #include <boost/config.hpp>
 
@@ -8,9 +8,9 @@
 
 // MSVC has problems expanding __LINE__ so use (the non standard) __COUNTER__.
 #ifdef BOOST_MSVC
-# define BOOST_CLOSURE_DETAIL_PP_LINE_COUNTER __COUNTER__
+# define BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER __COUNTER__
 #else
-# define BOOST_CLOSURE_DETAIL_PP_LINE_COUNTER __LINE__
+# define BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER __LINE__
 #endif
 
 #endif // #include guard

Modified: sandbox/closure/boost/local_function/detail/preprocessor/void_list.hpp
==============================================================================
--- sandbox/closure/boost/local_function/detail/preprocessor/void_list.hpp (original)
+++ sandbox/closure/boost/local_function/detail/preprocessor/void_list.hpp 2012-01-21 13:19:18 EST (Sat, 21 Jan 2012)
@@ -1,24 +1,25 @@
 
-#ifndef BOOST_CLOSURE_DETAIL_PP_VOID_LIST_HPP_
-#define BOOST_CLOSURE_DETAIL_PP_VOID_LIST_HPP_
+#ifndef BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_HPP_
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_HPP_
 
-#include <boost/closure/detail/preprocessor/keyword/void.hpp>
+#include <boost/local_function/detail/preprocessor/keyword/void.hpp>
 #include <boost/config.hpp>
+#include <boost/preprocessor/cat.hpp>
 #include <boost/preprocessor/control/iif.hpp>
 #include <boost/preprocessor/comparison/equal.hpp>
 #include <boost/preprocessor/tuple/to_list.hpp>
 #include <boost/preprocessor/seq/size.hpp>
 #include <boost/preprocessor/seq/to_tuple.hpp>
-#include <boost/preprocessor/variadic/size.hpp>
 
 // PRIVATE //
 
 // Argument: (token1)...
-#define BOOST_CLOSURE_DETAIL_PP_VOID_LIST_FROM_SEQ_(unused, seq) \
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_FROM_SEQ_(unused, seq) \
     BOOST_PP_TUPLE_TO_LIST(BOOST_PP_SEQ_SIZE(seq), BOOST_PP_SEQ_TO_TUPLE(seq))
 
 // Token: void | token1
-#define BOOST_CLOSURE_DETAIL_PP_VOID_LIST_HANDLE_VOID_(is_void_macro, token) \
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_HANDLE_VOID_( \
+ is_void_macro, token) \
     BOOST_PP_IIF(is_void_macro(token), \
         BOOST_PP_NIL \
     , \
@@ -26,34 +27,52 @@
     )
 
 // Token: (a)(b)... | empty | void | token
-#define BOOST_CLOSURE_DETAIL_PP_VOID_LIST_HANDLE_SEQ_(is_void_macro, token) \
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_HANDLE_SEQ_( \
+ is_void_macro, token) \
     BOOST_PP_IIF(BOOST_PP_IS_UNARY(token), /* unary paren (a)... */ \
- BOOST_CLOSURE_DETAIL_PP_VOID_LIST_FROM_SEQ_ \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_FROM_SEQ_ \
     , \
- BOOST_CLOSURE_DETAIL_PP_VOID_LIST_HANDLE_VOID_ \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_HANDLE_VOID_ \
     )(is_void_macro, token)
 
 #ifdef BOOST_NO_VARIADIC_MACROS
 
-#define BOOST_CLOSURE_DETAIL_PP_VOID_LIST_(is_void_macro, seq) \
- BOOST_CLOSURE_DETAIL_PP_VOId_LIST_HANDLE_SEQ_(is_void_macro, seq)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_(is_void_macro, seq) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOId_LIST_HANDLE_SEQ_(is_void_macro, seq)
 
-#else // variadic
+#else // VARIADICS
 
-// Argument: token1, ...
-#define BOOST_CLOSURE_DETAIL_PP_VOID_LIST_FROM_VARIADIC_(unused, ...) \
- BOOST_PP_TUPLE_TO_LIST(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))
+// FUTURE: Replace this with BOOST_PP_VARIADIC_SIZE when and if
+// BOOST_PP_VARIAIDCS detection will match !BOOST_NO_VARIADIC_MACROS (for now
+// Boost.Preprocessor and Boost.Config disagree on detecting compiler variadic
+// support while this VARIADIC_SIZE works on compilers not detected by PP).
+#if BOOST_MSVC
+# define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_VARIADIC_SIZE_(...) \
+ BOOST_PP_CAT(BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_VARIADIC_SIZE_I_(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,),)
+#else // MSVC
+# define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_VARIADIC_SIZE_(...) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_VARIADIC_SIZE_I_(__VA_ARGS__, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,)
+#endif // MSVC
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_VARIADIC_SIZE_I_(e0, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, e49, e50, e51, e52, e53, e54, e55, e56, e57, e58, e59, e60, e61, e62, e63, size, ...) size
 
-#define BOOST_CLOSURE_DETAIL_PP_VOID_LIST_(is_void_macro, ...) \
- BOOST_PP_IIF(BOOST_PP_EQUAL(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), 1), \
- BOOST_CLOSURE_DETAIL_PP_VOID_LIST_HANDLE_SEQ_ \
+// Argument: token1, ...
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_FROM_VARIADIC_(unused, ...) \
+ BOOST_PP_TUPLE_TO_LIST( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_VARIADIC_SIZE_( \
+ __VA_ARGS__), (__VA_ARGS__))
+
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_(is_void_macro, ...) \
+ BOOST_PP_IIF(BOOST_PP_EQUAL( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_VARIADIC_SIZE_( \
+ __VA_ARGS__), 1), \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_HANDLE_SEQ_ \
     , \
- BOOST_CLOSURE_DETAIL_PP_VOID_LIST_FROM_VARIADIC_ \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_FROM_VARIADIC_ \
     )(is_void_macro, __VA_ARGS__)
 
-#endif // variadic
+#endif // VARIADICS
 
-#define BOOST_CLOSURE_DETAIL_PP_VOID_LIST_NEVER_(tokens) \
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_NEVER_(tokens) \
     0 /* void check always returns false */
 
 // PUBLIC //
@@ -68,28 +87,28 @@
 #ifdef BOOST_NO_VARIADIC_MACROS
 
 // Expand `void | (a)(b)...` to pp-list `NIL | (a, (b, NIL))`.
-#define BOOST_CLOSURE_DETAIL_PP_VOID_LIST(sign) \
- BOOST_CLOSURE_DETAIL_PP_VOID_LIST_( \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_VOID_BACK, sign)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(sign) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_VOID_BACK, sign)
 
 // Expand `(a)(b)...` to pp-list `(a, (b, NIL))`.
-#define BOOST_CLOSURE_DETAIL_PP_NON_VOID_LIST(seq) \
- BOOST_CLOSURE_DETAIL_PP_VOID_LIST_( \
- BOOST_CLOSURE_DETAIL_PP_VOID_LIST_NEVER_, seq)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_NON_VOID_LIST(seq) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_NEVER_, seq)
 
-#else // variadic
+#else // VARIADICS
 
 // Expand `void | (a)(b)... | a, b, ...` to pp-list `NIL | (a, (b, NIL))`.
-#define BOOST_CLOSURE_DETAIL_PP_VOID_LIST(...) \
- BOOST_CLOSURE_DETAIL_PP_VOID_LIST_( \
- BOOST_CLOSURE_DETAIL_PP_KEYWORD_IS_VOID_BACK, __VA_ARGS__)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(...) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_KEYWORD_IS_VOID_BACK, __VA_ARGS__)
 
 // Expand `(a)(b)... | a, b, ...` to pp-list `(a, (b, NIL))`.
-#define BOOST_CLOSURE_DETAIL_PP_NON_VOID_LIST(...) \
- BOOST_CLOSURE_DETAIL_PP_VOID_LIST_( \
- BOOST_CLOSURE_DETAIL_PP_VOID_LIST_NEVER_, __VA_ARGS__)
+#define BOOST_LOCAL_FUNCTION_DETAIL_PP_NON_VOID_LIST(...) \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_( \
+ BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST_NEVER_, __VA_ARGS__)
 
-#endif // variadic
+#endif // VARIADICS
 
 #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