From 88832cc96cd8e5c6340482275767d931ae3c86d2 Mon Sep 17 00:00:00 2001
From: Jean-Louis Leroy
Date: Sat, 21 Jun 2025 14:30:07 -0400
Subject: [PATCH] BOOST_OPENMETHOD_NAME -> BOOST_OPENMETHOD_ID
---
doc/BOOST_OPENMETHOD.adoc | 8 +++----
...HOD_NAME.adoc => BOOST_OPENMETHOD_ID.adoc} | 6 ++---
doc/BOOST_OPENMETHOD_OVERRIDERS.adoc | 2 +-
doc/core_api.adoc | 2 +-
doc/html/index.html | 22 +++++++++----------
doc/reference.adoc | 2 +-
example/core_api.cpp | 8 +++----
include/boost/openmethod/core.hpp | 4 ++--
include/boost/openmethod/macros.hpp | 18 +++++++--------
test/test_dispatch.cpp | 4 ++--
test/test_member_method.cpp | 5 ++---
test/test_virtual_ptr_dispatch.cpp | 14 ++++++------
12 files changed, 47 insertions(+), 48 deletions(-)
rename doc/{BOOST_OPENMETHOD_NAME.adoc => BOOST_OPENMETHOD_ID.adoc} (66%)
diff --git a/doc/BOOST_OPENMETHOD.adoc b/doc/BOOST_OPENMETHOD.adoc
index 7b429e7..20d8d6b 100644
--- a/doc/BOOST_OPENMETHOD.adoc
+++ b/doc/BOOST_OPENMETHOD.adoc
@@ -20,20 +20,20 @@ The macro expands to several constructs:
* A `struct` forward declaration that acts as the method's identifier:
```c++
-struct BOOST_OPENMETHOD_NAME(NAME);
+struct BOOST_OPENMETHOD_ID(NAME);
```
* An inline function template, constrained to take the same `PARAMETERS`,
without the `virtual_` decorators, returning a `RETURN_TYPE`. The function
forwards to +
- `method::fn`.
+ `method::fn`.
* A guide function used to match overriders with the method:
```c++
-auto BOOST_OPENMETHOD_NAME(NAME)_guide(...)
+auto BOOST_OPENMETHOD_ID(NAME)_guide(...)
-> ::boost::openmethod::method<
- BOOST_OPENMETHOD_NAME(NAME)(PARAMETERS...), RETURN_TYPE [, POLICY]>;
+ BOOST_OPENMETHOD_ID(NAME)(PARAMETERS...), RETURN_TYPE [, POLICY]>;
```
NOTE: `NAME` must be an *identifier*. Qualified names are not allowed.
diff --git a/doc/BOOST_OPENMETHOD_NAME.adoc b/doc/BOOST_OPENMETHOD_ID.adoc
similarity index 66%
rename from doc/BOOST_OPENMETHOD_NAME.adoc
rename to doc/BOOST_OPENMETHOD_ID.adoc
index 7996ca2..74f0daf 100644
--- a/doc/BOOST_OPENMETHOD_NAME.adoc
+++ b/doc/BOOST_OPENMETHOD_ID.adoc
@@ -1,14 +1,14 @@
-[#BOOST_OPENMETHOD_NAME]
+[#BOOST_OPENMETHOD_ID]
-## BOOST_OPENMETHOD_NAME
+## BOOST_OPENMETHOD_ID
### Synopsis
Defined in .
```c++
-#define BOOST_OPENMETHOD_NAME(NAME) /* unspecified */
+#define BOOST_OPENMETHOD_ID(NAME) /* unspecified */
```
### Description
diff --git a/doc/BOOST_OPENMETHOD_OVERRIDERS.adoc b/doc/BOOST_OPENMETHOD_OVERRIDERS.adoc
index 4ec0367..9550d9d 100644
--- a/doc/BOOST_OPENMETHOD_OVERRIDERS.adoc
+++ b/doc/BOOST_OPENMETHOD_OVERRIDERS.adoc
@@ -7,7 +7,7 @@ Defined in .
```c++
#define BOOST_OPENMETHOD_OVERRIDERS(NAME) \
- BOOST_PP_CAT(BOOST_OPENMETHOD_NAME(NAME), _overriders)
+ BOOST_PP_CAT(BOOST_OPENMETHOD_ID(NAME), _overriders)
```
### Description
diff --git a/doc/core_api.adoc b/doc/core_api.adoc
index 7d44ff1..5d767c8 100644
--- a/doc/core_api.adoc
+++ b/doc/core_api.adoc
@@ -32,7 +32,7 @@ name can get tedious, so OpenMethod provides a macro for that:
include::{exampledir}/core_api.cpp[tag=method]
----
-NOTE: BOOST_OPENMETHOD and associated macros use `BOOST_OPENMETHOD_NAME` in
+NOTE: BOOST_OPENMETHOD and associated macros use `BOOST_OPENMETHOD_ID` in
their implementation. This makes it possible to mix the "macro" and "core"
styles.
diff --git a/doc/html/index.html b/doc/html/index.html
index c7a1539..c32b576 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -507,7 +507,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
Description
-BOOST_OPENMETHOD_NAME
+BOOST_OPENMETHOD_ID
Synopsis
Description
@@ -2030,10 +2030,10 @@ name can get tedious, so OpenMethod provides a macro for that:
#include <boost/openmethod/macros.hpp>
-class BOOST_OPENMETHOD_NAME(poke);
+class BOOST_OPENMETHOD_ID(poke);
using poke = method<
- BOOST_OPENMETHOD_NAME(poke),
+ BOOST_OPENMETHOD_ID(poke),
auto(std::ostream&, virtual_ptr<Animal>)->void>;
@@ -2044,7 +2044,7 @@ using poke = method<
Note
-BOOST_OPENMETHOD and associated macros use BOOST_OPENMETHOD_NAME in
+BOOST_OPENMETHOD and associated macros use BOOST_OPENMETHOD_ID in
their implementation. This makes it possible to mix the "macro" and "core"
styles.
@@ -3247,7 +3247,7 @@ etc).
-
struct BOOST_OPENMETHOD_NAME(NAME);
+
struct BOOST_OPENMETHOD_ID(NAME);
@@ -3256,7 +3256,7 @@ etc).
An inline function template, constrained to take the same PARAMETERS,
without the virtual_ decorators, returning a RETURN_TYPE. The function
forwards to
-method<BOOST_OPENMETHOD_NAME(NAME)(PARAMETERS…), RETURN_TYPE, POLICY>::fn.
+
method<BOOST_OPENMETHOD_ID(NAME)(PARAMETERS…), RETURN_TYPE, POLICY>::fn.
A guide function used to match overriders with the method:
@@ -3265,9 +3265,9 @@ forwards to
-
auto BOOST_OPENMETHOD_NAME(NAME)_guide(...)
+auto BOOST_OPENMETHOD_ID(NAME)_guide(...)
-> ::boost::openmethod::method<
- BOOST_OPENMETHOD_NAME(NAME)(PARAMETERS...), RETURN_TYPE [, POLICY]>;
+ BOOST_OPENMETHOD_ID(NAME)(PARAMETERS...), RETURN_TYPE [, POLICY]>;
@@ -3580,7 +3580,7 @@ for with the given name, parameter list and return type.
-
BOOST_OPENMETHOD_NAME
+
BOOST_OPENMETHOD_ID
Synopsis
@@ -3588,7 +3588,7 @@ for with the given name, parameter list and return type.
-
#define BOOST_OPENMETHOD_NAME(NAME) /* unspecified */
+
#define BOOST_OPENMETHOD_ID(NAME) /* unspecified */
@@ -3630,7 +3630,7 @@ generated by macros are based on this name.
#define BOOST_OPENMETHOD_OVERRIDERS(NAME) \
- BOOST_PP_CAT(BOOST_OPENMETHOD_NAME(NAME), _overriders)
+ BOOST_PP_CAT(BOOST_OPENMETHOD_ID(NAME), _overriders)
diff --git a/doc/reference.adoc b/doc/reference.adoc
index 3386617..3d04f85 100644
--- a/doc/reference.adoc
+++ b/doc/reference.adoc
@@ -12,7 +12,7 @@ include::BOOST_OPENMETHOD_INLINE_OVERRIDE.adoc[]
include::BOOST_OPENMETHOD_DECLARE_OVERRIDER.adoc[]
include::BOOST_OPENMETHOD_DEFINE_OVERRIDER.adoc[]
include::BOOST_OPENMETHOD_OVERRIDER.adoc[]
-include::BOOST_OPENMETHOD_NAME.adoc[]
+include::BOOST_OPENMETHOD_ID.adoc[]
include::BOOST_OPENMETHOD_GUIDE.adoc[]
include::BOOST_OPENMETHOD_OVERRIDERS.adoc[]
include::BOOST_OPENMETHOD_REGISTER.adoc[]
diff --git a/example/core_api.cpp b/example/core_api.cpp
index cfd5ca7..65ae3ad 100644
--- a/example/core_api.cpp
+++ b/example/core_api.cpp
@@ -24,10 +24,10 @@ using namespace boost::openmethod;
#include
-class BOOST_OPENMETHOD_NAME(poke);
+class BOOST_OPENMETHOD_ID(poke);
using poke = method<
- BOOST_OPENMETHOD_NAME(poke),
+ BOOST_OPENMETHOD_ID(poke),
auto(std::ostream&, virtual_ptr)->void>;
// end::method[]
@@ -58,7 +58,7 @@ auto poke_bulldog(std::ostream& os, virtual_ptr dog) -> void {
BOOST_OPENMETHOD_REGISTER(poke::override);
// end::poke_bulldog[]
-class BOOST_OPENMETHOD_NAME(pet);
+class BOOST_OPENMETHOD_ID(pet);
auto pet_cat(std::ostream& os, virtual_ptr /*cat*/) {
os << "purr";
@@ -69,7 +69,7 @@ auto pet_dog(std::ostream& os, virtual_ptr /*dog*/) {
}
using pet = method<
- BOOST_OPENMETHOD_NAME(pet), auto(std::ostream&, virtual_ptr)->void>;
+ BOOST_OPENMETHOD_ID(pet), auto(std::ostream&, virtual_ptr)->void>;
BOOST_OPENMETHOD_REGISTER(pet::override);
diff --git a/include/boost/openmethod/core.hpp b/include/boost/openmethod/core.hpp
index 2d1fef1..ce3b3e2 100644
--- a/include/boost/openmethod/core.hpp
+++ b/include/boost/openmethod/core.hpp
@@ -1492,8 +1492,8 @@ method::override_impl<
Function, FnReturnType>::override_impl(FunctionPointer* p_next) {
using namespace detail;
-// static variable this->method below is zero-initialized but gcc and clang
-// don't always see that.
+ // static variable this->method below is zero-initialized but gcc and clang
+ // don't always see that.
#ifdef BOOST_CLANG
#pragma clang diagnostic push
diff --git a/include/boost/openmethod/macros.hpp b/include/boost/openmethod/macros.hpp
index 26ad774..d5443bc 100644
--- a/include/boost/openmethod/macros.hpp
+++ b/include/boost/openmethod/macros.hpp
@@ -44,26 +44,26 @@ struct va_args {
#define BOOST_OPENMETHOD_REGISTER(...) \
static __VA_ARGS__ BOOST_OPENMETHOD_GENSYM
-#define BOOST_OPENMETHOD_NAME(NAME) NAME##_boost_openmethod
+#define BOOST_OPENMETHOD_ID(NAME) NAME##_boost_openmethod
#define BOOST_OPENMETHOD_OVERRIDERS(NAME) \
- BOOST_PP_CAT(BOOST_OPENMETHOD_NAME(NAME), _overriders)
+ BOOST_PP_CAT(BOOST_OPENMETHOD_ID(NAME), _overriders)
#define BOOST_OPENMETHOD_GUIDE(NAME) \
- BOOST_PP_CAT(BOOST_OPENMETHOD_NAME(NAME), _guide)
+ BOOST_PP_CAT(BOOST_OPENMETHOD_ID(NAME), _guide)
#define BOOST_OPENMETHOD(NAME, ARGS, ...) \
- struct BOOST_OPENMETHOD_NAME(NAME); \
+ struct BOOST_OPENMETHOD_ID(NAME); \
template \
typename ::boost::openmethod::detail::enable_forwarder< \
void, \
::boost::openmethod::method< \
- BOOST_OPENMETHOD_NAME(NAME), \
+ BOOST_OPENMETHOD_ID(NAME), \
::boost::openmethod::detail::va_args<__VA_ARGS__>::return_type \
ARGS, \
::boost::openmethod::detail::va_args<__VA_ARGS__>::registry>, \
typename ::boost::openmethod::method< \
- BOOST_OPENMETHOD_NAME(NAME), \
+ BOOST_OPENMETHOD_ID(NAME), \
::boost::openmethod::detail::va_args<__VA_ARGS__>::return_type \
ARGS, \
::boost::openmethod::detail::va_args<__VA_ARGS__>::registry>, \
@@ -74,19 +74,19 @@ struct va_args {
typename ::boost::openmethod::detail::enable_forwarder< \
void, \
::boost::openmethod::method< \
- BOOST_OPENMETHOD_NAME(NAME), \
+ BOOST_OPENMETHOD_ID(NAME), \
::boost::openmethod::detail::va_args<__VA_ARGS__>::return_type \
ARGS, \
::boost::openmethod::detail::va_args<__VA_ARGS__>::registry>, \
typename ::boost::openmethod::method< \
- BOOST_OPENMETHOD_NAME(NAME), \
+ BOOST_OPENMETHOD_ID(NAME), \
::boost::openmethod::detail::va_args<__VA_ARGS__>::return_type \
ARGS, \
::boost::openmethod::detail::va_args<__VA_ARGS__>::registry>:: \
return_type, \
ForwarderParameters...>::type { \
return ::boost::openmethod::method< \
- BOOST_OPENMETHOD_NAME(NAME), \
+ BOOST_OPENMETHOD_ID(NAME), \
::boost::openmethod::detail::va_args<__VA_ARGS__>::return_type \
ARGS, \
::boost::openmethod::detail::va_args<__VA_ARGS__>::registry>:: \
diff --git a/test/test_dispatch.cpp b/test/test_dispatch.cpp
index 94251be..95d4ed9 100644
--- a/test/test_dispatch.cpp
+++ b/test/test_dispatch.cpp
@@ -363,9 +363,9 @@ struct Bulldog : Dog {};
BOOST_OPENMETHOD_CLASSES(Animal, Dog, Bulldog);
-struct BOOST_OPENMETHOD_NAME(poke);
+struct BOOST_OPENMETHOD_ID(poke);
using poke =
- method)->std::string>;
+ method)->std::string>;
auto poke_dog(Dog&) -> std::string {
return "bark";
diff --git a/test/test_member_method.cpp b/test/test_member_method.cpp
index 4311412..c201de9 100644
--- a/test/test_member_method.cpp
+++ b/test/test_member_method.cpp
@@ -32,10 +32,9 @@ struct Payroll {
}
private:
- struct BOOST_OPENMETHOD_NAME(pay);
+ struct BOOST_OPENMETHOD_ID(pay);
using pay_method = method<
- BOOST_OPENMETHOD_NAME(pay),
- auto(Payroll*, virtual_)->void>;
+ BOOST_OPENMETHOD_ID(pay), auto(Payroll*, virtual_)->void>;
void pay_employee(const Employee&) {
balance -= 2000;
diff --git a/test/test_virtual_ptr_dispatch.cpp b/test/test_virtual_ptr_dispatch.cpp
index 231df43..6a62783 100644
--- a/test/test_virtual_ptr_dispatch.cpp
+++ b/test/test_virtual_ptr_dispatch.cpp
@@ -204,8 +204,8 @@ template
using policy_types =
boost::mp11::mp_list, indirect_test_registry>;
-struct BOOST_OPENMETHOD_NAME(poke);
-struct BOOST_OPENMETHOD_NAME(fight);
+struct BOOST_OPENMETHOD_ID(poke);
+struct BOOST_OPENMETHOD_ID(fight);
namespace BOOST_OPENMETHOD_GENSYM {
@@ -215,7 +215,7 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(
BOOST_OPENMETHOD_REGISTER(
use_classes);
using poke = method<
- BOOST_OPENMETHOD_NAME(poke),
+ BOOST_OPENMETHOD_ID(poke),
auto(virtual_ptr)->std::string, Registry>;
BOOST_OPENMETHOD_REGISTER(
typename poke::template override<
@@ -274,14 +274,14 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(
use_classes);
using poke = method<
- BOOST_OPENMETHOD_NAME(poke),
+ BOOST_OPENMETHOD_ID(poke),
auto(virtual_ptr)->std::string, Registry>;
BOOST_OPENMETHOD_REGISTER(
typename poke::template override<
poke_bear>>);
using fight = method<
- BOOST_OPENMETHOD_NAME(fight),
+ BOOST_OPENMETHOD_ID(fight),
auto(
virtual_ptr, virtual_ptr,
virtual_ptr)
@@ -317,7 +317,7 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(
use_classes);
using poke = method<
- BOOST_OPENMETHOD_NAME(poke),
+ BOOST_OPENMETHOD_ID(poke),
auto(shared_virtual_ptr)->std::string, Registry>;
BOOST_OPENMETHOD_REGISTER(
@@ -325,7 +325,7 @@ BOOST_AUTO_TEST_CASE_TEMPLATE(
poke_bear>>);
using fight = method<
- BOOST_OPENMETHOD_NAME(fight),
+ BOOST_OPENMETHOD_ID(fight),
auto(
shared_virtual_ptr,
shared_virtual_ptr,