From 427459dcc60634c1a28b13966231a8c184e7b1e9 Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Thu, 28 Dec 2023 02:20:01 +0700 Subject: [PATCH] mark all internal macro with META_HPP_DETAIL prefix --- ROADMAP.md | 5 - develop/singles/headers/meta.hpp/meta_all.hpp | 144 ++++++++---------- headers/meta.hpp/meta_base/base.hpp | 78 +++++----- headers/meta.hpp/meta_base/bitflags.hpp | 30 ++-- headers/meta.hpp/meta_base/exceptions.hpp | 10 -- headers/meta.hpp/meta_detail/base_info.hpp | 4 +- .../meta_detail/type_traits/array_traits.hpp | 2 +- .../meta_detail/type_traits/class_traits.hpp | 2 +- .../type_traits/constructor_traits.hpp | 2 +- .../type_traits/destructor_traits.hpp | 2 +- .../meta_detail/type_traits/enum_traits.hpp | 2 +- .../type_traits/function_traits.hpp | 2 +- .../meta_detail/type_traits/member_traits.hpp | 2 +- .../meta_detail/type_traits/method_traits.hpp | 2 +- .../meta_detail/type_traits/number_traits.hpp | 2 +- .../type_traits/pointer_traits.hpp | 2 +- .../type_traits/reference_traits.hpp | 2 +- 17 files changed, 134 insertions(+), 159 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index 1c106e8..a4419f1 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -8,11 +8,6 @@ - test and support shared libraries - remove `resolve_poly_type`, use `resolve_type(T&&)` instead - add ucast manual -- mark all internal macro with DETAIL prefix - -## Thoughts - -- store only `hashed_string` in indices instead `string` ## Version 1.0 diff --git a/develop/singles/headers/meta.hpp/meta_all.hpp b/develop/singles/headers/meta.hpp/meta_all.hpp index fa33b94..44b4ad4 100644 --- a/develop/singles/headers/meta.hpp/meta_all.hpp +++ b/develop/singles/headers/meta.hpp/meta_all.hpp @@ -100,70 +100,70 @@ // // -#define META_HPP_CLANG_COMPILER_ID 1 -#define META_HPP_GCC_COMPILER_ID 2 -#define META_HPP_MSVC_COMPILER_ID 3 -#define META_HPP_UNKNOWN_COMPILER_ID 4 +#define META_HPP_DETAIL_CLANG_COMPILER_ID 1 +#define META_HPP_DETAIL_GCC_COMPILER_ID 2 +#define META_HPP_DETAIL_MSVC_COMPILER_ID 3 +#define META_HPP_DETAIL_UNKNOWN_COMPILER_ID 4 #if defined(__clang__) -# define META_HPP_COMPILER_ID META_HPP_CLANG_COMPILER_ID +# define META_HPP_DETAIL_COMPILER_ID META_HPP_DETAIL_CLANG_COMPILER_ID #elif defined(__GNUC__) -# define META_HPP_COMPILER_ID META_HPP_GCC_COMPILER_ID +# define META_HPP_DETAIL_COMPILER_ID META_HPP_DETAIL_GCC_COMPILER_ID #elif defined(_MSC_VER) -# define META_HPP_COMPILER_ID META_HPP_MSVC_COMPILER_ID +# define META_HPP_DETAIL_COMPILER_ID META_HPP_DETAIL_MSVC_COMPILER_ID #else -# define META_HPP_COMPILER_ID META_HPP_UNKNOWN_COMPILER_ID +# define META_HPP_DETAIL_COMPILER_ID META_HPP_DETAIL_UNKNOWN_COMPILER_ID #endif // // // -#if META_HPP_COMPILER_ID == META_HPP_CLANG_COMPILER_ID -# define META_HPP_CLANG_PRAGMA_TO_STR(x) _Pragma(#x) -# define META_HPP_CLANG_IGNORE_WARNING(w) META_HPP_CLANG_PRAGMA_TO_STR(clang diagnostic ignored w) -# define META_HPP_CLANG_IGNORE_WARNINGS_PUSH() _Pragma("clang diagnostic push") -# define META_HPP_CLANG_IGNORE_WARNINGS_POP() _Pragma("clang diagnostic pop") +#if META_HPP_DETAIL_COMPILER_ID == META_HPP_DETAIL_CLANG_COMPILER_ID +# define META_HPP_DETAIL_CLANG_PRAGMA_TO_STR(x) _Pragma(#x) +# define META_HPP_DETAIL_CLANG_IGNORE_WARNING(w) META_HPP_DETAIL_CLANG_PRAGMA_TO_STR(clang diagnostic ignored w) +# define META_HPP_DETAIL_CLANG_IGNORE_WARNINGS_PUSH() _Pragma("clang diagnostic push") +# define META_HPP_DETAIL_CLANG_IGNORE_WARNINGS_POP() _Pragma("clang diagnostic pop") #else -# define META_HPP_CLANG_PRAGMA_TO_STR(x) -# define META_HPP_CLANG_IGNORE_WARNING(w) -# define META_HPP_CLANG_IGNORE_WARNINGS_PUSH() -# define META_HPP_CLANG_IGNORE_WARNINGS_POP() +# define META_HPP_DETAIL_CLANG_PRAGMA_TO_STR(x) +# define META_HPP_DETAIL_CLANG_IGNORE_WARNING(w) +# define META_HPP_DETAIL_CLANG_IGNORE_WARNINGS_PUSH() +# define META_HPP_DETAIL_CLANG_IGNORE_WARNINGS_POP() #endif -#if META_HPP_COMPILER_ID == META_HPP_GCC_COMPILER_ID -# define META_HPP_GCC_PRAGMA_TO_STR(x) _Pragma(#x) -# define META_HPP_GCC_IGNORE_WARNING(w) META_HPP_GCC_PRAGMA_TO_STR(GCC diagnostic ignored w) -# define META_HPP_GCC_IGNORE_WARNINGS_PUSH() _Pragma("GCC diagnostic push") -# define META_HPP_GCC_IGNORE_WARNINGS_POP() _Pragma("GCC diagnostic pop") +#if META_HPP_DETAIL_COMPILER_ID == META_HPP_DETAIL_GCC_COMPILER_ID +# define META_HPP_DETAIL_GCC_PRAGMA_TO_STR(x) _Pragma(#x) +# define META_HPP_DETAIL_GCC_IGNORE_WARNING(w) META_HPP_DETAIL_GCC_PRAGMA_TO_STR(GCC diagnostic ignored w) +# define META_HPP_DETAIL_GCC_IGNORE_WARNINGS_PUSH() _Pragma("GCC diagnostic push") +# define META_HPP_DETAIL_GCC_IGNORE_WARNINGS_POP() _Pragma("GCC diagnostic pop") #else -# define META_HPP_GCC_PRAGMA_TO_STR(x) -# define META_HPP_GCC_IGNORE_WARNING(w) -# define META_HPP_GCC_IGNORE_WARNINGS_PUSH() -# define META_HPP_GCC_IGNORE_WARNINGS_POP() +# define META_HPP_DETAIL_GCC_PRAGMA_TO_STR(x) +# define META_HPP_DETAIL_GCC_IGNORE_WARNING(w) +# define META_HPP_DETAIL_GCC_IGNORE_WARNINGS_PUSH() +# define META_HPP_DETAIL_GCC_IGNORE_WARNINGS_POP() #endif -#if META_HPP_COMPILER_ID == META_HPP_MSVC_COMPILER_ID -# define META_HPP_MSVC_IGNORE_WARNING(w) __pragma(warning(disable : w)) -# define META_HPP_MSVC_IGNORE_WARNINGS_PUSH() __pragma(warning(push)) -# define META_HPP_MSVC_IGNORE_WARNINGS_POP() __pragma(warning(pop)) +#if META_HPP_DETAIL_COMPILER_ID == META_HPP_DETAIL_MSVC_COMPILER_ID +# define META_HPP_DETAIL_MSVC_IGNORE_WARNING(w) __pragma(warning(disable : w)) +# define META_HPP_DETAIL_MSVC_IGNORE_WARNINGS_PUSH() __pragma(warning(push)) +# define META_HPP_DETAIL_MSVC_IGNORE_WARNINGS_POP() __pragma(warning(pop)) #else -# define META_HPP_MSVC_IGNORE_WARNING(w) -# define META_HPP_MSVC_IGNORE_WARNINGS_PUSH() -# define META_HPP_MSVC_IGNORE_WARNINGS_POP() +# define META_HPP_DETAIL_MSVC_IGNORE_WARNING(w) +# define META_HPP_DETAIL_MSVC_IGNORE_WARNINGS_PUSH() +# define META_HPP_DETAIL_MSVC_IGNORE_WARNINGS_POP() #endif // // // -#define META_HPP_IGNORE_OVERRIDE_WARNINGS_PUSH() \ - META_HPP_CLANG_IGNORE_WARNINGS_PUSH() \ - META_HPP_CLANG_IGNORE_WARNING("-Wunknown-warning-option") \ - META_HPP_CLANG_IGNORE_WARNING("-Winconsistent-missing-override") \ - META_HPP_CLANG_IGNORE_WARNING("-Wsuggest-override") +#define META_HPP_DETAIL_IGNORE_OVERRIDE_WARNINGS_PUSH() \ + META_HPP_DETAIL_CLANG_IGNORE_WARNINGS_PUSH() \ + META_HPP_DETAIL_CLANG_IGNORE_WARNING("-Wunknown-warning-option") \ + META_HPP_DETAIL_CLANG_IGNORE_WARNING("-Winconsistent-missing-override") \ + META_HPP_DETAIL_CLANG_IGNORE_WARNING("-Wsuggest-override") -#define META_HPP_IGNORE_OVERRIDE_WARNINGS_POP() META_HPP_CLANG_IGNORE_WARNINGS_POP() +#define META_HPP_DETAIL_IGNORE_OVERRIDE_WARNINGS_POP() META_HPP_DETAIL_CLANG_IGNORE_WARNINGS_POP() namespace meta_hpp::detail { @@ -246,7 +246,7 @@ namespace std namespace meta_hpp::detail { -#define META_HPP_DEFINE_BINARY_OPERATOR(op) \ +#define META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(op) \ template < typename Enum > \ constexpr bool operator op(Enum l, bitflags r) noexcept { \ return l op r.as_enum(); \ @@ -267,13 +267,13 @@ namespace meta_hpp::detail constexpr bool operator op(bitflags l, bitflags r) noexcept { \ return l.as_raw() op r.as_raw(); \ } - META_HPP_DEFINE_BINARY_OPERATOR(<) - META_HPP_DEFINE_BINARY_OPERATOR(>) - META_HPP_DEFINE_BINARY_OPERATOR(<=) - META_HPP_DEFINE_BINARY_OPERATOR(>=) - META_HPP_DEFINE_BINARY_OPERATOR(==) - META_HPP_DEFINE_BINARY_OPERATOR(!=) -#undef META_HPP_DEFINE_BINARY_OPERATOR + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(<) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(>) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(<=) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(>=) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(==) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(!=) +#undef META_HPP_DETAIL_DEFINE_BINARY_OPERATOR } namespace meta_hpp::detail @@ -283,7 +283,7 @@ namespace meta_hpp::detail return static_cast(~l.as_raw()); } -#define META_HPP_DEFINE_BINARY_OPERATOR(op) \ +#define META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(op) \ template < typename Enum > \ constexpr bitflags operator op(Enum l, bitflags r) noexcept { \ return bitflags{l} op r; \ @@ -304,17 +304,17 @@ namespace meta_hpp::detail constexpr bitflags& operator op##=(bitflags& l, bitflags r) noexcept { \ return l = l op r; \ } - META_HPP_DEFINE_BINARY_OPERATOR(|) - META_HPP_DEFINE_BINARY_OPERATOR(&) - META_HPP_DEFINE_BINARY_OPERATOR(^) -#undef META_HPP_DEFINE_BINARY_OPERATOR + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(|) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(&) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(^) +#undef META_HPP_DETAIL_DEFINE_BINARY_OPERATOR } // -// META_HPP_BITFLAGS_OPERATORS_DECL +// META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL // -#define META_HPP_BITFLAGS_OPERATORS_DECL(Enum) \ +#define META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(Enum) \ constexpr ::meta_hpp::detail::bitflags operator~[[maybe_unused]] (Enum l) noexcept { \ return ~::meta_hpp::detail::bitflags(l); \ } \ @@ -410,16 +410,6 @@ namespace meta_hpp::detail using copy_cvref_t = typename copy_cvref::type; } -#if !defined(META_HPP_NO_EXCEPTIONS) -# define META_HPP_TRY try -# define META_HPP_CATCH(...) catch ( __VA_ARGS__ ) -# define META_HPP_RETHROW() throw -#else -# define META_HPP_TRY if ( true ) -# define META_HPP_CATCH(...) if ( false ) -# define META_HPP_RETHROW() (void)0 -#endif - namespace meta_hpp::detail { enum class error_code { @@ -1850,8 +1840,8 @@ namespace meta_hpp::detail is_unbounded = 1 << 1, }; - META_HPP_BITFLAGS_OPERATORS_DECL(array_flags) using array_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(array_flags) } namespace meta_hpp::detail @@ -1888,8 +1878,8 @@ namespace meta_hpp::detail is_template_instantiation = 1 << 4, }; - META_HPP_BITFLAGS_OPERATORS_DECL(class_flags) using class_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(class_flags) } namespace meta_hpp::detail @@ -1954,8 +1944,8 @@ namespace meta_hpp::detail is_noexcept = 1 << 0, }; - META_HPP_BITFLAGS_OPERATORS_DECL(constructor_flags) using constructor_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(constructor_flags) } namespace meta_hpp::detail @@ -1986,8 +1976,8 @@ namespace meta_hpp::detail is_virtual = 1 << 1, }; - META_HPP_BITFLAGS_OPERATORS_DECL(destructor_flags) using destructor_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(destructor_flags) } namespace meta_hpp::detail @@ -2018,8 +2008,8 @@ namespace meta_hpp::detail is_scoped = 1 << 0, }; - META_HPP_BITFLAGS_OPERATORS_DECL(enum_flags) using enum_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(enum_flags) } namespace meta_hpp::detail @@ -2046,8 +2036,8 @@ namespace meta_hpp::detail is_noexcept = 1 << 0, }; - META_HPP_BITFLAGS_OPERATORS_DECL(function_flags) using function_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(function_flags) } namespace meta_hpp::detail @@ -2081,8 +2071,8 @@ namespace meta_hpp::detail is_readonly = 1 << 0, }; - META_HPP_BITFLAGS_OPERATORS_DECL(member_flags) using member_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(member_flags) } namespace meta_hpp::detail @@ -2116,8 +2106,8 @@ namespace meta_hpp::detail is_rvalue_qualified = 1 << 3, }; - META_HPP_BITFLAGS_OPERATORS_DECL(method_flags) using method_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(method_flags) } namespace meta_hpp::detail @@ -2248,8 +2238,8 @@ namespace meta_hpp::detail is_floating_point = 1 << 3, }; - META_HPP_BITFLAGS_OPERATORS_DECL(number_flags) using number_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(number_flags) } namespace meta_hpp::detail @@ -2289,8 +2279,8 @@ namespace meta_hpp::detail is_readonly = 1 << 0, }; - META_HPP_BITFLAGS_OPERATORS_DECL(pointer_flags) using pointer_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(pointer_flags) } namespace meta_hpp::detail @@ -2319,8 +2309,8 @@ namespace meta_hpp::detail is_rvalue = 1 << 2, }; - META_HPP_BITFLAGS_OPERATORS_DECL(reference_flags) using reference_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(reference_flags) } namespace meta_hpp::detail @@ -4271,12 +4261,12 @@ private: #define META_HPP_ENABLE_POLY_INFO(...) \ META_HPP_ENABLE_BASE_INFO(__VA_ARGS__) \ public: \ - META_HPP_IGNORE_OVERRIDE_WARNINGS_PUSH() \ + META_HPP_DETAIL_IGNORE_OVERRIDE_WARNINGS_PUSH() \ virtual ::meta_hpp::detail::poly_info get_most_derived_meta_poly_info(::meta_hpp::detail::type_registry& registry) const { \ using self_type = std::remove_cvref_t; \ return ::meta_hpp::detail::poly_info{.ptr = this, .type = registry.resolve_class_type()}; \ } \ - META_HPP_IGNORE_OVERRIDE_WARNINGS_POP() \ + META_HPP_DETAIL_IGNORE_OVERRIDE_WARNINGS_POP() \ private: namespace meta_hpp::detail diff --git a/headers/meta.hpp/meta_base/base.hpp b/headers/meta.hpp/meta_base/base.hpp index 683f051..cc65723 100644 --- a/headers/meta.hpp/meta_base/base.hpp +++ b/headers/meta.hpp/meta_base/base.hpp @@ -101,67 +101,67 @@ // // -#define META_HPP_CLANG_COMPILER_ID 1 -#define META_HPP_GCC_COMPILER_ID 2 -#define META_HPP_MSVC_COMPILER_ID 3 -#define META_HPP_UNKNOWN_COMPILER_ID 4 +#define META_HPP_DETAIL_CLANG_COMPILER_ID 1 +#define META_HPP_DETAIL_GCC_COMPILER_ID 2 +#define META_HPP_DETAIL_MSVC_COMPILER_ID 3 +#define META_HPP_DETAIL_UNKNOWN_COMPILER_ID 4 #if defined(__clang__) -# define META_HPP_COMPILER_ID META_HPP_CLANG_COMPILER_ID +# define META_HPP_DETAIL_COMPILER_ID META_HPP_DETAIL_CLANG_COMPILER_ID #elif defined(__GNUC__) -# define META_HPP_COMPILER_ID META_HPP_GCC_COMPILER_ID +# define META_HPP_DETAIL_COMPILER_ID META_HPP_DETAIL_GCC_COMPILER_ID #elif defined(_MSC_VER) -# define META_HPP_COMPILER_ID META_HPP_MSVC_COMPILER_ID +# define META_HPP_DETAIL_COMPILER_ID META_HPP_DETAIL_MSVC_COMPILER_ID #else -# define META_HPP_COMPILER_ID META_HPP_UNKNOWN_COMPILER_ID +# define META_HPP_DETAIL_COMPILER_ID META_HPP_DETAIL_UNKNOWN_COMPILER_ID #endif // // // -#if META_HPP_COMPILER_ID == META_HPP_CLANG_COMPILER_ID -# define META_HPP_CLANG_PRAGMA_TO_STR(x) _Pragma(#x) -# define META_HPP_CLANG_IGNORE_WARNING(w) META_HPP_CLANG_PRAGMA_TO_STR(clang diagnostic ignored w) -# define META_HPP_CLANG_IGNORE_WARNINGS_PUSH() _Pragma("clang diagnostic push") -# define META_HPP_CLANG_IGNORE_WARNINGS_POP() _Pragma("clang diagnostic pop") +#if META_HPP_DETAIL_COMPILER_ID == META_HPP_DETAIL_CLANG_COMPILER_ID +# define META_HPP_DETAIL_CLANG_PRAGMA_TO_STR(x) _Pragma(#x) +# define META_HPP_DETAIL_CLANG_IGNORE_WARNING(w) META_HPP_DETAIL_CLANG_PRAGMA_TO_STR(clang diagnostic ignored w) +# define META_HPP_DETAIL_CLANG_IGNORE_WARNINGS_PUSH() _Pragma("clang diagnostic push") +# define META_HPP_DETAIL_CLANG_IGNORE_WARNINGS_POP() _Pragma("clang diagnostic pop") #else -# define META_HPP_CLANG_PRAGMA_TO_STR(x) -# define META_HPP_CLANG_IGNORE_WARNING(w) -# define META_HPP_CLANG_IGNORE_WARNINGS_PUSH() -# define META_HPP_CLANG_IGNORE_WARNINGS_POP() +# define META_HPP_DETAIL_CLANG_PRAGMA_TO_STR(x) +# define META_HPP_DETAIL_CLANG_IGNORE_WARNING(w) +# define META_HPP_DETAIL_CLANG_IGNORE_WARNINGS_PUSH() +# define META_HPP_DETAIL_CLANG_IGNORE_WARNINGS_POP() #endif -#if META_HPP_COMPILER_ID == META_HPP_GCC_COMPILER_ID -# define META_HPP_GCC_PRAGMA_TO_STR(x) _Pragma(#x) -# define META_HPP_GCC_IGNORE_WARNING(w) META_HPP_GCC_PRAGMA_TO_STR(GCC diagnostic ignored w) -# define META_HPP_GCC_IGNORE_WARNINGS_PUSH() _Pragma("GCC diagnostic push") -# define META_HPP_GCC_IGNORE_WARNINGS_POP() _Pragma("GCC diagnostic pop") +#if META_HPP_DETAIL_COMPILER_ID == META_HPP_DETAIL_GCC_COMPILER_ID +# define META_HPP_DETAIL_GCC_PRAGMA_TO_STR(x) _Pragma(#x) +# define META_HPP_DETAIL_GCC_IGNORE_WARNING(w) META_HPP_DETAIL_GCC_PRAGMA_TO_STR(GCC diagnostic ignored w) +# define META_HPP_DETAIL_GCC_IGNORE_WARNINGS_PUSH() _Pragma("GCC diagnostic push") +# define META_HPP_DETAIL_GCC_IGNORE_WARNINGS_POP() _Pragma("GCC diagnostic pop") #else -# define META_HPP_GCC_PRAGMA_TO_STR(x) -# define META_HPP_GCC_IGNORE_WARNING(w) -# define META_HPP_GCC_IGNORE_WARNINGS_PUSH() -# define META_HPP_GCC_IGNORE_WARNINGS_POP() +# define META_HPP_DETAIL_GCC_PRAGMA_TO_STR(x) +# define META_HPP_DETAIL_GCC_IGNORE_WARNING(w) +# define META_HPP_DETAIL_GCC_IGNORE_WARNINGS_PUSH() +# define META_HPP_DETAIL_GCC_IGNORE_WARNINGS_POP() #endif -#if META_HPP_COMPILER_ID == META_HPP_MSVC_COMPILER_ID -# define META_HPP_MSVC_IGNORE_WARNING(w) __pragma(warning(disable : w)) -# define META_HPP_MSVC_IGNORE_WARNINGS_PUSH() __pragma(warning(push)) -# define META_HPP_MSVC_IGNORE_WARNINGS_POP() __pragma(warning(pop)) +#if META_HPP_DETAIL_COMPILER_ID == META_HPP_DETAIL_MSVC_COMPILER_ID +# define META_HPP_DETAIL_MSVC_IGNORE_WARNING(w) __pragma(warning(disable : w)) +# define META_HPP_DETAIL_MSVC_IGNORE_WARNINGS_PUSH() __pragma(warning(push)) +# define META_HPP_DETAIL_MSVC_IGNORE_WARNINGS_POP() __pragma(warning(pop)) #else -# define META_HPP_MSVC_IGNORE_WARNING(w) -# define META_HPP_MSVC_IGNORE_WARNINGS_PUSH() -# define META_HPP_MSVC_IGNORE_WARNINGS_POP() +# define META_HPP_DETAIL_MSVC_IGNORE_WARNING(w) +# define META_HPP_DETAIL_MSVC_IGNORE_WARNINGS_PUSH() +# define META_HPP_DETAIL_MSVC_IGNORE_WARNINGS_POP() #endif // // // -#define META_HPP_IGNORE_OVERRIDE_WARNINGS_PUSH() \ - META_HPP_CLANG_IGNORE_WARNINGS_PUSH() \ - META_HPP_CLANG_IGNORE_WARNING("-Wunknown-warning-option") \ - META_HPP_CLANG_IGNORE_WARNING("-Winconsistent-missing-override") \ - META_HPP_CLANG_IGNORE_WARNING("-Wsuggest-override") +#define META_HPP_DETAIL_IGNORE_OVERRIDE_WARNINGS_PUSH() \ + META_HPP_DETAIL_CLANG_IGNORE_WARNINGS_PUSH() \ + META_HPP_DETAIL_CLANG_IGNORE_WARNING("-Wunknown-warning-option") \ + META_HPP_DETAIL_CLANG_IGNORE_WARNING("-Winconsistent-missing-override") \ + META_HPP_DETAIL_CLANG_IGNORE_WARNING("-Wsuggest-override") -#define META_HPP_IGNORE_OVERRIDE_WARNINGS_POP() META_HPP_CLANG_IGNORE_WARNINGS_POP() +#define META_HPP_DETAIL_IGNORE_OVERRIDE_WARNINGS_POP() META_HPP_DETAIL_CLANG_IGNORE_WARNINGS_POP() diff --git a/headers/meta.hpp/meta_base/bitflags.hpp b/headers/meta.hpp/meta_base/bitflags.hpp index 3eff22b..7946f59 100644 --- a/headers/meta.hpp/meta_base/bitflags.hpp +++ b/headers/meta.hpp/meta_base/bitflags.hpp @@ -89,7 +89,7 @@ namespace std namespace meta_hpp::detail { -#define META_HPP_DEFINE_BINARY_OPERATOR(op) \ +#define META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(op) \ template < typename Enum > \ constexpr bool operator op(Enum l, bitflags r) noexcept { \ return l op r.as_enum(); \ @@ -110,13 +110,13 @@ namespace meta_hpp::detail constexpr bool operator op(bitflags l, bitflags r) noexcept { \ return l.as_raw() op r.as_raw(); \ } - META_HPP_DEFINE_BINARY_OPERATOR(<) - META_HPP_DEFINE_BINARY_OPERATOR(>) - META_HPP_DEFINE_BINARY_OPERATOR(<=) - META_HPP_DEFINE_BINARY_OPERATOR(>=) - META_HPP_DEFINE_BINARY_OPERATOR(==) - META_HPP_DEFINE_BINARY_OPERATOR(!=) -#undef META_HPP_DEFINE_BINARY_OPERATOR + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(<) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(>) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(<=) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(>=) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(==) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(!=) +#undef META_HPP_DETAIL_DEFINE_BINARY_OPERATOR } namespace meta_hpp::detail @@ -126,7 +126,7 @@ namespace meta_hpp::detail return static_cast(~l.as_raw()); } -#define META_HPP_DEFINE_BINARY_OPERATOR(op) \ +#define META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(op) \ template < typename Enum > \ constexpr bitflags operator op(Enum l, bitflags r) noexcept { \ return bitflags{l} op r; \ @@ -147,17 +147,17 @@ namespace meta_hpp::detail constexpr bitflags& operator op##=(bitflags& l, bitflags r) noexcept { \ return l = l op r; \ } - META_HPP_DEFINE_BINARY_OPERATOR(|) - META_HPP_DEFINE_BINARY_OPERATOR(&) - META_HPP_DEFINE_BINARY_OPERATOR(^) -#undef META_HPP_DEFINE_BINARY_OPERATOR + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(|) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(&) + META_HPP_DETAIL_DEFINE_BINARY_OPERATOR(^) +#undef META_HPP_DETAIL_DEFINE_BINARY_OPERATOR } // -// META_HPP_BITFLAGS_OPERATORS_DECL +// META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL // -#define META_HPP_BITFLAGS_OPERATORS_DECL(Enum) \ +#define META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(Enum) \ constexpr ::meta_hpp::detail::bitflags operator~[[maybe_unused]] (Enum l) noexcept { \ return ~::meta_hpp::detail::bitflags(l); \ } \ diff --git a/headers/meta.hpp/meta_base/exceptions.hpp b/headers/meta.hpp/meta_base/exceptions.hpp index 65cb337..51f1701 100644 --- a/headers/meta.hpp/meta_base/exceptions.hpp +++ b/headers/meta.hpp/meta_base/exceptions.hpp @@ -8,16 +8,6 @@ #include "base.hpp" -#if !defined(META_HPP_NO_EXCEPTIONS) -# define META_HPP_TRY try -# define META_HPP_CATCH(...) catch ( __VA_ARGS__ ) -# define META_HPP_RETHROW() throw -#else -# define META_HPP_TRY if ( true ) -# define META_HPP_CATCH(...) if ( false ) -# define META_HPP_RETHROW() (void)0 -#endif - namespace meta_hpp::detail { enum class error_code { diff --git a/headers/meta.hpp/meta_detail/base_info.hpp b/headers/meta.hpp/meta_detail/base_info.hpp index e1fb44a..6f19618 100644 --- a/headers/meta.hpp/meta_detail/base_info.hpp +++ b/headers/meta.hpp/meta_detail/base_info.hpp @@ -38,10 +38,10 @@ private: #define META_HPP_ENABLE_POLY_INFO(...) \ META_HPP_ENABLE_BASE_INFO(__VA_ARGS__) \ public: \ - META_HPP_IGNORE_OVERRIDE_WARNINGS_PUSH() \ + META_HPP_DETAIL_IGNORE_OVERRIDE_WARNINGS_PUSH() \ virtual ::meta_hpp::detail::poly_info get_most_derived_meta_poly_info(::meta_hpp::detail::type_registry& registry) const { \ using self_type = std::remove_cvref_t; \ return ::meta_hpp::detail::poly_info{.ptr = this, .type = registry.resolve_class_type()}; \ } \ - META_HPP_IGNORE_OVERRIDE_WARNINGS_POP() \ + META_HPP_DETAIL_IGNORE_OVERRIDE_WARNINGS_POP() \ private: diff --git a/headers/meta.hpp/meta_detail/type_traits/array_traits.hpp b/headers/meta.hpp/meta_detail/type_traits/array_traits.hpp index ac32528..cb23570 100644 --- a/headers/meta.hpp/meta_detail/type_traits/array_traits.hpp +++ b/headers/meta.hpp/meta_detail/type_traits/array_traits.hpp @@ -15,8 +15,8 @@ namespace meta_hpp::detail is_unbounded = 1 << 1, }; - META_HPP_BITFLAGS_OPERATORS_DECL(array_flags) using array_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(array_flags) } namespace meta_hpp::detail diff --git a/headers/meta.hpp/meta_detail/type_traits/class_traits.hpp b/headers/meta.hpp/meta_detail/type_traits/class_traits.hpp index faef0f4..3919f65 100644 --- a/headers/meta.hpp/meta_detail/type_traits/class_traits.hpp +++ b/headers/meta.hpp/meta_detail/type_traits/class_traits.hpp @@ -18,8 +18,8 @@ namespace meta_hpp::detail is_template_instantiation = 1 << 4, }; - META_HPP_BITFLAGS_OPERATORS_DECL(class_flags) using class_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(class_flags) } namespace meta_hpp::detail diff --git a/headers/meta.hpp/meta_detail/type_traits/constructor_traits.hpp b/headers/meta.hpp/meta_detail/type_traits/constructor_traits.hpp index f4daa84..22d67e0 100644 --- a/headers/meta.hpp/meta_detail/type_traits/constructor_traits.hpp +++ b/headers/meta.hpp/meta_detail/type_traits/constructor_traits.hpp @@ -14,8 +14,8 @@ namespace meta_hpp::detail is_noexcept = 1 << 0, }; - META_HPP_BITFLAGS_OPERATORS_DECL(constructor_flags) using constructor_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(constructor_flags) } namespace meta_hpp::detail diff --git a/headers/meta.hpp/meta_detail/type_traits/destructor_traits.hpp b/headers/meta.hpp/meta_detail/type_traits/destructor_traits.hpp index 49a6778..58678c6 100644 --- a/headers/meta.hpp/meta_detail/type_traits/destructor_traits.hpp +++ b/headers/meta.hpp/meta_detail/type_traits/destructor_traits.hpp @@ -15,8 +15,8 @@ namespace meta_hpp::detail is_virtual = 1 << 1, }; - META_HPP_BITFLAGS_OPERATORS_DECL(destructor_flags) using destructor_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(destructor_flags) } namespace meta_hpp::detail diff --git a/headers/meta.hpp/meta_detail/type_traits/enum_traits.hpp b/headers/meta.hpp/meta_detail/type_traits/enum_traits.hpp index d4e0f19..120a824 100644 --- a/headers/meta.hpp/meta_detail/type_traits/enum_traits.hpp +++ b/headers/meta.hpp/meta_detail/type_traits/enum_traits.hpp @@ -14,8 +14,8 @@ namespace meta_hpp::detail is_scoped = 1 << 0, }; - META_HPP_BITFLAGS_OPERATORS_DECL(enum_flags) using enum_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(enum_flags) } namespace meta_hpp::detail diff --git a/headers/meta.hpp/meta_detail/type_traits/function_traits.hpp b/headers/meta.hpp/meta_detail/type_traits/function_traits.hpp index 4f12e52..595ab8c 100644 --- a/headers/meta.hpp/meta_detail/type_traits/function_traits.hpp +++ b/headers/meta.hpp/meta_detail/type_traits/function_traits.hpp @@ -14,8 +14,8 @@ namespace meta_hpp::detail is_noexcept = 1 << 0, }; - META_HPP_BITFLAGS_OPERATORS_DECL(function_flags) using function_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(function_flags) } namespace meta_hpp::detail diff --git a/headers/meta.hpp/meta_detail/type_traits/member_traits.hpp b/headers/meta.hpp/meta_detail/type_traits/member_traits.hpp index 6021110..8a72640 100644 --- a/headers/meta.hpp/meta_detail/type_traits/member_traits.hpp +++ b/headers/meta.hpp/meta_detail/type_traits/member_traits.hpp @@ -14,8 +14,8 @@ namespace meta_hpp::detail is_readonly = 1 << 0, }; - META_HPP_BITFLAGS_OPERATORS_DECL(member_flags) using member_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(member_flags) } namespace meta_hpp::detail diff --git a/headers/meta.hpp/meta_detail/type_traits/method_traits.hpp b/headers/meta.hpp/meta_detail/type_traits/method_traits.hpp index d2fdbc8..ccea4d7 100644 --- a/headers/meta.hpp/meta_detail/type_traits/method_traits.hpp +++ b/headers/meta.hpp/meta_detail/type_traits/method_traits.hpp @@ -17,8 +17,8 @@ namespace meta_hpp::detail is_rvalue_qualified = 1 << 3, }; - META_HPP_BITFLAGS_OPERATORS_DECL(method_flags) using method_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(method_flags) } namespace meta_hpp::detail diff --git a/headers/meta.hpp/meta_detail/type_traits/number_traits.hpp b/headers/meta.hpp/meta_detail/type_traits/number_traits.hpp index cdadfed..530ed49 100644 --- a/headers/meta.hpp/meta_detail/type_traits/number_traits.hpp +++ b/headers/meta.hpp/meta_detail/type_traits/number_traits.hpp @@ -17,8 +17,8 @@ namespace meta_hpp::detail is_floating_point = 1 << 3, }; - META_HPP_BITFLAGS_OPERATORS_DECL(number_flags) using number_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(number_flags) } namespace meta_hpp::detail diff --git a/headers/meta.hpp/meta_detail/type_traits/pointer_traits.hpp b/headers/meta.hpp/meta_detail/type_traits/pointer_traits.hpp index 422cc27..44d6c4f 100644 --- a/headers/meta.hpp/meta_detail/type_traits/pointer_traits.hpp +++ b/headers/meta.hpp/meta_detail/type_traits/pointer_traits.hpp @@ -14,8 +14,8 @@ namespace meta_hpp::detail is_readonly = 1 << 0, }; - META_HPP_BITFLAGS_OPERATORS_DECL(pointer_flags) using pointer_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(pointer_flags) } namespace meta_hpp::detail diff --git a/headers/meta.hpp/meta_detail/type_traits/reference_traits.hpp b/headers/meta.hpp/meta_detail/type_traits/reference_traits.hpp index 74cd815..03a835e 100644 --- a/headers/meta.hpp/meta_detail/type_traits/reference_traits.hpp +++ b/headers/meta.hpp/meta_detail/type_traits/reference_traits.hpp @@ -16,8 +16,8 @@ namespace meta_hpp::detail is_rvalue = 1 << 2, }; - META_HPP_BITFLAGS_OPERATORS_DECL(reference_flags) using reference_bitflags = bitflags; + META_HPP_DETAIL_BITFLAGS_OPERATORS_DECL(reference_flags) } namespace meta_hpp::detail