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,