cleanup defines

This commit is contained in:
BlackMATov
2023-03-11 07:35:30 +07:00
parent 7954964ed3
commit 37ce8b272f
2 changed files with 66 additions and 12 deletions

View File

@@ -34,6 +34,10 @@
#include <vector> #include <vector>
#include <version> #include <version>
//
//
//
#if !defined(META_HPP_NO_EXCEPTIONS) && !defined(__cpp_exceptions) #if !defined(META_HPP_NO_EXCEPTIONS) && !defined(__cpp_exceptions)
# define META_HPP_NO_EXCEPTIONS # define META_HPP_NO_EXCEPTIONS
#endif #endif
@@ -42,6 +46,10 @@
# define META_HPP_NO_RTTI # define META_HPP_NO_RTTI
#endif #endif
//
//
//
#if !defined(META_HPP_FWD) #if !defined(META_HPP_FWD)
# define META_HPP_FWD(v) std::forward<decltype(v)>(v) # define META_HPP_FWD(v) std::forward<decltype(v)>(v)
#endif #endif
@@ -61,15 +69,30 @@
# define META_HPP_PP_CAT_I(x, y) x##y # define META_HPP_PP_CAT_I(x, y) x##y
#endif #endif
//
//
//
#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
#if defined(__clang__) #if defined(__clang__)
# define META_HPP_CLANG # define META_HPP_COMPILER_ID META_HPP_CLANG_COMPILER_ID
#elif defined(__GNUC__) #elif defined(__GNUC__)
# define META_HPP_GCC # define META_HPP_COMPILER_ID META_HPP_GCC_COMPILER_ID
#elif defined(_MSC_VER) #elif defined(_MSC_VER)
# define META_HPP_MSVC # define META_HPP_COMPILER_ID META_HPP_MSVC_COMPILER_ID
#else
# define META_HPP_COMPILER_ID META_HPP_UNKNOWN_COMPILER_ID
#endif #endif
#if defined(META_HPP_CLANG) //
//
//
#if META_HPP_COMPILER_ID == META_HPP_CLANG_COMPILER_ID
# define META_HPP_CLANG_PRAGMA_TO_STR(x) _Pragma(#x) # 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_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_PUSH() _Pragma("clang diagnostic push")
@@ -81,7 +104,7 @@
# define META_HPP_CLANG_IGNORE_WARNINGS_POP() # define META_HPP_CLANG_IGNORE_WARNINGS_POP()
#endif #endif
#if defined(META_HPP_GCC) #if META_HPP_COMPILER_ID == META_HPP_GCC_COMPILER_ID
# define META_HPP_GCC_PRAGMA_TO_STR(x) _Pragma(#x) # 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_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_PUSH() _Pragma("GCC diagnostic push")
@@ -93,7 +116,7 @@
# define META_HPP_GCC_IGNORE_WARNINGS_POP() # define META_HPP_GCC_IGNORE_WARNINGS_POP()
#endif #endif
#if defined(META_HPP_MSVC) #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_WARNING(w) __pragma(warning(disable : w))
# define META_HPP_MSVC_IGNORE_WARNINGS_PUSH() __pragma(warning(push)) # define META_HPP_MSVC_IGNORE_WARNINGS_PUSH() __pragma(warning(push))
# define META_HPP_MSVC_IGNORE_WARNINGS_POP() __pragma(warning(pop)) # define META_HPP_MSVC_IGNORE_WARNINGS_POP() __pragma(warning(pop))
@@ -103,6 +126,10 @@
# define META_HPP_MSVC_IGNORE_WARNINGS_POP() # define META_HPP_MSVC_IGNORE_WARNINGS_POP()
#endif #endif
//
//
//
#define META_HPP_IGNORE_OVERRIDE_WARNINGS_PUSH() \ #define META_HPP_IGNORE_OVERRIDE_WARNINGS_PUSH() \
META_HPP_CLANG_IGNORE_WARNINGS_PUSH() \ META_HPP_CLANG_IGNORE_WARNINGS_PUSH() \
META_HPP_CLANG_IGNORE_WARNING("-Wunknown-warning-option") \ META_HPP_CLANG_IGNORE_WARNING("-Wunknown-warning-option") \

View File

@@ -35,6 +35,10 @@
#include <vector> #include <vector>
#include <version> #include <version>
//
//
//
#if !defined(META_HPP_NO_EXCEPTIONS) && !defined(__cpp_exceptions) #if !defined(META_HPP_NO_EXCEPTIONS) && !defined(__cpp_exceptions)
# define META_HPP_NO_EXCEPTIONS # define META_HPP_NO_EXCEPTIONS
#endif #endif
@@ -43,6 +47,10 @@
# define META_HPP_NO_RTTI # define META_HPP_NO_RTTI
#endif #endif
//
//
//
#if !defined(META_HPP_FWD) #if !defined(META_HPP_FWD)
# define META_HPP_FWD(v) std::forward<decltype(v)>(v) # define META_HPP_FWD(v) std::forward<decltype(v)>(v)
#endif #endif
@@ -62,15 +70,30 @@
# define META_HPP_PP_CAT_I(x, y) x##y # define META_HPP_PP_CAT_I(x, y) x##y
#endif #endif
//
//
//
#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
#if defined(__clang__) #if defined(__clang__)
# define META_HPP_CLANG # define META_HPP_COMPILER_ID META_HPP_CLANG_COMPILER_ID
#elif defined(__GNUC__) #elif defined(__GNUC__)
# define META_HPP_GCC # define META_HPP_COMPILER_ID META_HPP_GCC_COMPILER_ID
#elif defined(_MSC_VER) #elif defined(_MSC_VER)
# define META_HPP_MSVC # define META_HPP_COMPILER_ID META_HPP_MSVC_COMPILER_ID
#else
# define META_HPP_COMPILER_ID META_HPP_UNKNOWN_COMPILER_ID
#endif #endif
#if defined(META_HPP_CLANG) //
//
//
#if META_HPP_COMPILER_ID == META_HPP_CLANG_COMPILER_ID
# define META_HPP_CLANG_PRAGMA_TO_STR(x) _Pragma(#x) # 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_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_PUSH() _Pragma("clang diagnostic push")
@@ -82,7 +105,7 @@
# define META_HPP_CLANG_IGNORE_WARNINGS_POP() # define META_HPP_CLANG_IGNORE_WARNINGS_POP()
#endif #endif
#if defined(META_HPP_GCC) #if META_HPP_COMPILER_ID == META_HPP_GCC_COMPILER_ID
# define META_HPP_GCC_PRAGMA_TO_STR(x) _Pragma(#x) # 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_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_PUSH() _Pragma("GCC diagnostic push")
@@ -94,7 +117,7 @@
# define META_HPP_GCC_IGNORE_WARNINGS_POP() # define META_HPP_GCC_IGNORE_WARNINGS_POP()
#endif #endif
#if defined(META_HPP_MSVC) #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_WARNING(w) __pragma(warning(disable : w))
# define META_HPP_MSVC_IGNORE_WARNINGS_PUSH() __pragma(warning(push)) # define META_HPP_MSVC_IGNORE_WARNINGS_PUSH() __pragma(warning(push))
# define META_HPP_MSVC_IGNORE_WARNINGS_POP() __pragma(warning(pop)) # define META_HPP_MSVC_IGNORE_WARNINGS_POP() __pragma(warning(pop))
@@ -104,6 +127,10 @@
# define META_HPP_MSVC_IGNORE_WARNINGS_POP() # define META_HPP_MSVC_IGNORE_WARNINGS_POP()
#endif #endif
//
//
//
#define META_HPP_IGNORE_OVERRIDE_WARNINGS_PUSH() \ #define META_HPP_IGNORE_OVERRIDE_WARNINGS_PUSH() \
META_HPP_CLANG_IGNORE_WARNINGS_PUSH() \ META_HPP_CLANG_IGNORE_WARNINGS_PUSH() \
META_HPP_CLANG_IGNORE_WARNING("-Wunknown-warning-option") \ META_HPP_CLANG_IGNORE_WARNING("-Wunknown-warning-option") \