diff --git a/include/boost/local_function.hpp b/include/boost/local_function.hpp
index c08571b..9f259e6 100644
--- a/include/boost/local_function.hpp
+++ b/include/boost/local_function.hpp
@@ -29,13 +29,13 @@
# define BOOST_LOCAL_FUNCTION(declarations) \
BOOST_LOCAL_FUNCTION_ID( \
BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, declarations)
-# define BOOST_LOCAL_FUNCTION_TPL_ID(id, declarations) \
+# define BOOST_LOCAL_FUNCTION_ID_TPL(id, declarations) \
BOOST_LOCAL_FUNCTION_AUX_DECL(id, 1 /* within template */, \
BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS( \
BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST( \
declarations)))
# define BOOST_LOCAL_FUNCTION_TPL(declarations) \
- BOOST_LOCAL_FUNCTION_TPL_ID( \
+ BOOST_LOCAL_FUNCTION_ID_TPL( \
BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, declarations)
#else // VARIADIC
# define BOOST_LOCAL_FUNCTION_ID(id, ...) \
@@ -45,12 +45,12 @@
# define BOOST_LOCAL_FUNCTION(...) \
BOOST_LOCAL_FUNCTION_ID( \
BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, __VA_ARGS__)
-# define BOOST_LOCAL_FUNCTION_TPL_ID(id, ...) \
+# define BOOST_LOCAL_FUNCTION_ID_TPL(id, ...) \
BOOST_LOCAL_FUNCTION_AUX_DECL(id, 1 /* within template */, \
BOOST_LOCAL_FUNCTION_AUX_PP_DECL_TRAITS( \
BOOST_LOCAL_FUNCTION_DETAIL_PP_VOID_LIST(__VA_ARGS__)))
# define BOOST_LOCAL_FUNCTION_TPL(...) \
- BOOST_LOCAL_FUNCTION_TPL_ID( \
+ BOOST_LOCAL_FUNCTION_ID_TPL( \
BOOST_LOCAL_FUNCTION_DETAIL_PP_LINE_COUNTER, __VA_ARGS__)
#endif // VARIADIC
@@ -77,7 +77,8 @@ functions, and directly within the scope where they are needed.
This macro must be used within a declarative context, it must follow the local
function result type, it must be followed by the local function body code, and
then by the @RefMacro{BOOST_LOCAL_FUNCTION_NAME} macro (see the
-@RefSect{Tutorial} and @RefSectId{Advanced_Topics, Advanced Topics} sections):
+@RefSect{tutorial, Tutorial} and @RefSect{advanced_topics, Advanced Topics}
+sections):
@code
{ // Some declarative context.
...
@@ -92,7 +93,7 @@ As usual, exceptions specifications can be optionally programmed just after the
macro and before the body code block { ... } (but the exception
specifications will only apply to the body code and not to the library code
automatically generated by the macro expansion, see the
-@RefSectId{Advanced_Topics, Advanced Topics} section).
+@RefSect{advanced_topics, Advanced Topics} section).
Within templates, the special macros @RefMacro{BOOST_LOCAL_FUNCTION_TPL}
and @RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL} must be used.
@@ -165,9 +166,10 @@ optimizations that reduce the local function call run-time overhead.
@Note Local functions are functors so they can be assigned to other functors
like boost::function (see Boost.Function).
-@See @RefSect{Tutorial} section, @RefSectId{Advanced_Topics, Advanced Topics}
-section, @RefMacro{BOOST_LOCAL_FUNCTION_NAME},
-@RefMacro{BOOST_LOCAL_FUNCTION_TPL}, @RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL},
+@See @RefSect{tutorial, Tutorial} section,
+@RefSect{advanced_topics, Advanced Topics} section,
+@RefMacro{BOOST_LOCAL_FUNCTION_NAME}, @RefMacro{BOOST_LOCAL_FUNCTION_TPL},
+@RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL},
@RefMacro{BOOST_LOCAL_FUNCTION_TYPEOF}, @RefMacro{BOOST_LOCAL_FUNCTION_ID},
@RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_ARITY_MAX},
@RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX},
@@ -198,7 +200,7 @@ Note that @RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL} must be used with this
macro instead of @RefMacro{BOOST_LOCAL_FUNCTION_NAME}.
This macro cannot be portably expanded multiple times on the same line.
-In these cases, use the @RefMacro{BOOST_LOCAL_FUNCTION_TPL_ID} macro instead.
+In these cases, use the @RefMacro{BOOST_LOCAL_FUNCTION_ID_TPL} macro instead.
@Note C++03 does not allow to use typename outside templates.
This library internally manipulates types, these operations require
@@ -206,8 +208,8 @@ This library internally manipulates types, these operations require
This macro is used to indicate to the library when the enclosing scope is a
template so the library can correctly use typename.
-@See @RefSect{Tutorial} section, @RefMacro{BOOST_LOCAL_FUNCTION},
-@RefMacro{BOOST_LOCAL_FUNCTION_TPL_ID},
+@See @RefSect{tutorial, Tutorial} section, @RefMacro{BOOST_LOCAL_FUNCTION},
+@RefMacro{BOOST_LOCAL_FUNCTION_ID_TPL},
@RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL}.
*/
#define BOOST_LOCAL_FUNCTION_TPL(declarations)
@@ -218,7 +220,7 @@ template so the library can correctly use typename.
This macro is equivalent to @RefMacro{BOOST_LOCAL_FUNCTION} but it can be
expanded multiple times on the same line if different identifiers id are
provided for each expansion (see the
-@RefSectId{Advanced_Topics, Advanced Topics} section).
+@RefSect{advanced_topics, Advanced Topics} section).
@Params
@Param{id,
@@ -235,7 +237,7 @@ The @RefMacro{BOOST_LOCAL_FUNCTION_NAME} macro should be used to end each one
of the multiple local function declarations as usual (and it will specify a
unique name for each local function).
-Within templates, the special macros @RefMacro{BOOST_LOCAL_FUNCTION_TPL_ID}
+Within templates, the special macros @RefMacro{BOOST_LOCAL_FUNCTION_ID_TPL}
must be used.
@Note This macro can be useful when the local function macros are expanded
@@ -247,9 +249,9 @@ line is always necessary to ensure portability (this is because this library
can only portably use __LINE__ to internally generate unique
identifiers).
-@See @RefSectId{Advanced_Topics, Advanced Topics} section,
+@See @RefSect{advanced_topics, Advanced Topics} section,
@RefMacro{BOOST_LOCAL_FUNCTION}, @RefMacro{BOOST_LOCAL_FUNCTION_NAME},
-@RefMacro{BOOST_LOCAL_FUNCTION_TPL_ID}.
+@RefMacro{BOOST_LOCAL_FUNCTION_ID_TPL}.
*/
#define BOOST_LOCAL_FUNCTION_ID(id, declarations)
@@ -290,11 +292,11 @@ line is always necessary to ensure portability (this is because this library
can only portably use __LINE__ to internally generate unique
identifiers).
-@See @RefSectId{Advanced_Topics, Advanced Topics} section,
+@See @RefSect{advanced_topics, Advanced Topics} section,
@RefMacro{BOOST_LOCAL_FUNCTION_TPL}, @RefMacro{BOOST_LOCAL_FUNCTION_NAME},
@RefMacro{BOOST_LOCAL_FUNCTION_ID}.
*/
-#define BOOST_LOCAL_FUNCTION_TPL_ID(id, declarations)
+#define BOOST_LOCAL_FUNCTION_ID_TPL(id, declarations)
/**
@brief This macro is used to end a local function declaration specifying its
@@ -328,7 +330,7 @@ The name of the local function optionally qualified as follow:
@EndParams
The local function name can be qualified by prefixing it with the keyword
-inline (see the @RefSectId{Advanced_Topics, Advanced Topics} section):
+inline (see the @RefSect{advanced_topics, Advanced Topics} section):
@code
BOOST_LOCAL_FUNCTION_NAME(inline local_function_name)
@endcode
@@ -347,7 +349,7 @@ forced using @RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_LOCALS_AS_TPARAMS}.
The local function name can also be qualified by prefixing it with the
"keyword" recursive (see the
-@RefSectId{Advanced_Topics, Advanced Topics} section):
+@RefSect{advanced_topics, Advanced Topics} section):
@code
BOOST_LOCAL_FUNCTION_NAME(recursive local_function_name)
@endcode
@@ -367,10 +369,10 @@ inline:
declared within the same enclosing scope (but boost::overloaded_function
can be used to overload local functions, see
Boost.Functional/OverloadedFunction and the
-@RefSectId{Advanced_Topics, Advanced Topics} section).
+@RefSect{advanced_topics, Advanced Topics} section).
-@See @RefSect{Tutorial} section,
-@RefSectId{Advanced_Topics, Advanced Topics} section,
+@See @RefSect{tutorial, Tutorial} section,
+@RefSect{advanced_topics, Advanced Topics} section,
@RefMacro{BOOST_LOCAL_FUNCTION},
@RefMacro{BOOST_LOCAL_FUNCTION_NAME_TPL}.
*/
@@ -404,8 +406,8 @@ This library internally manipulates types, these operations require
This macro is used to indicate to the library when the enclosing scope is a
template so the library can correctly use typename.
-@See @RefSect{Tutorial} section, @RefMacro{BOOST_LOCAL_FUNCTION_NAME},
-@RefMacro{BOOST_LOCAL_FUNCTION_TPL}.
+@See @RefSect{tutorial, Tutorial} section,
+@RefMacro{BOOST_LOCAL_FUNCTION_NAME}, @RefMacro{BOOST_LOCAL_FUNCTION_TPL}.
*/
#define BOOST_LOCAL_FUNCTION_NAME_TPL(name)
@@ -414,7 +416,7 @@ template so the library can correctly use typename.
This macro can be used within the local functions body to refer to the bound
variable types so to declare local variables, check concepts (using
-Boost.ConceptCheck), etc (see the @RefSectId{Advanced_Topics, Advanced Topics}
+Boost.ConceptCheck), etc (see the @RefSect{advanced_topics, Advanced Topics}
section).
This way the local function can be programmed entirely without explicitly
specifying the bound variable types thus facilitating maintenance (e.g., if
@@ -444,9 +446,9 @@ This macro must be prefixed by typename when used within templates.
@Note It is best to use this macro instead of Boost.Typeof so to reduce the
number of times Boost.Typeof is used to deduce types (see the
-@RefSectId{Advanced_Topics, Advanced Topics} section).
+@RefSect{advanced_topics, Advanced Topics} section).
-@See @RefSectId{Advanced_Topics, Advanced Topics} section,
+@See @RefSect{advanced_topics, Advanced Topics} section,
@RefMacro{BOOST_LOCAL_FUNCTION}.
*/
#define BOOST_LOCAL_FUNCTION_TYPEOF(bound_variable_name)
diff --git a/include/boost/local_function/config.hpp b/include/boost/local_function/config.hpp
index 180aeae..bab2953 100644
--- a/include/boost/local_function/config.hpp
+++ b/include/boost/local_function/config.hpp
@@ -49,8 +49,9 @@ When defined by programmers, this macro must be a non-negative integer number.
excluding bound variables (which are instead specified by
@RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX}).
-@See @RefSect{Tutorial} section, @RefSectId{Getting_Started, Getting Started}
-section, @RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX}.
+@See @RefSect{tutorial, Tutorial} section,
+@RefSect{getting_started, Getting Started} section,
+@RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX}.
*/
#define BOOST_LOCAL_FUNCTION_CONFIG_ARITY_MAX
@@ -65,8 +66,9 @@ When defined by programmers, this macro must be a non-negative integer number.
local function parameters (which are instead specified by
@RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_ARITY_MAX}).
-@See @RefSect{Tutorial} section, @RefSectId{Getting_Started, Getting Started}
-section, @RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_ARITY_MAX}.
+@See @RefSect{tutorial, Tutorial} section,
+@RefSect{getting_started, Getting Started} section,
+@RefMacro{BOOST_LOCAL_FUNCTION_CONFIG_ARITY_MAX}.
*/
#define BOOST_LOCAL_FUNCTION_CONFIG_BIND_MAX
@@ -100,8 +102,8 @@ In this case, the library will automatically define this macro to 0 if
the Boost.Config macro BOOST_NO_LOCAL_CLASS_TEMPLATE_PARAMETERS is
defined for the specific compiler, and to 1 otherwise.
-@See @RefSectId{Getting_Started, Getting Started} section,
-@RefSectId{Advanced_Topics, Advanced Topics} section,
+@See @RefSect{getting_started, Getting Started} section,
+@RefSect{advanced_topics, Advanced Topics} section,
@RefMacro{BOOST_LOCAL_FUNCTION_NAME}.
*/
#define BOOST_LOCAL_FUNCTION_CONFIG_LOCALS_AS_TPARAMS
diff --git a/test/same_line.cpp b/test/same_line.cpp
index 044155c..e5eecb3 100644
--- a/test/same_line.cpp
+++ b/test/same_line.cpp
@@ -28,12 +28,12 @@
} BOOST_LOCAL_FUNCTION_NAME(dec)
#define LOCAL_INC_DEC_TPL(offset) \
- T BOOST_LOCAL_FUNCTION_TPL_ID(BOOST_PP_CAT(inc, __LINE__), \
+ T BOOST_LOCAL_FUNCTION_ID_TPL(BOOST_PP_CAT(inc, __LINE__), \
const bind offset, const T x) { \
return x + offset; \
} BOOST_LOCAL_FUNCTION_NAME_TPL(inc) \
\
- T BOOST_LOCAL_FUNCTION_TPL_ID(BOOST_PP_CAT(dec, __LINE__), \
+ T BOOST_LOCAL_FUNCTION_ID_TPL(BOOST_PP_CAT(dec, __LINE__), \
const bind offset, const T x) { \
return x - offset; \
} BOOST_LOCAL_FUNCTION_NAME_TPL(dec)
diff --git a/test/same_line_seq.cpp b/test/same_line_seq.cpp
index fb8515a..07dec3d 100644
--- a/test/same_line_seq.cpp
+++ b/test/same_line_seq.cpp
@@ -22,12 +22,12 @@
} BOOST_LOCAL_FUNCTION_NAME(dec)
#define LOCAL_INC_DEC_TPL(offset) \
- T BOOST_LOCAL_FUNCTION_TPL_ID(BOOST_PP_CAT(inc, __LINE__), \
+ T BOOST_LOCAL_FUNCTION_ID_TPL(BOOST_PP_CAT(inc, __LINE__), \
(const bind offset) (const T x) ) { \
return x + offset; \
} BOOST_LOCAL_FUNCTION_NAME_TPL(inc) \
\
- T BOOST_LOCAL_FUNCTION_TPL_ID(BOOST_PP_CAT(dec, __LINE__), \
+ T BOOST_LOCAL_FUNCTION_ID_TPL(BOOST_PP_CAT(dec, __LINE__), \
(const bind offset) (const T x) ) { \
return x - offset; \
} BOOST_LOCAL_FUNCTION_NAME_TPL(dec)