Add FMT_DEFAULTED and FMT_DEFAULTED_COPY_CTOR macros
This commit is contained in:
parent
f0d7c51f84
commit
2644c2fc01
19
fmt/format.h
19
fmt/format.h
@ -246,6 +246,23 @@ typedef __int64 intmax_t;
|
||||
TypeName& operator=(const TypeName&)
|
||||
#endif
|
||||
|
||||
#ifndef FMT_USE_DEFAULTED_FUNCTIONS
|
||||
# define FMT_USE_DEFAULTED_FUNCTIONS 0
|
||||
#endif
|
||||
|
||||
#ifndef FMT_DEFAULTED_COPY_CTOR
|
||||
# if FMT_USE_DEFAULTED_FUNCTIONS || FMT_HAS_FEATURE(cxx_defaulted_functions) || \
|
||||
(FMT_GCC_VERSION >= 404 && FMT_HAS_GXX_CXX11) || FMT_MSC_VER >= 1800
|
||||
# define FMT_DEFAULTED = default
|
||||
# define FMT_DEFAULTED_COPY_CTOR(TypeName) \
|
||||
TypeName(const TypeName&) = default
|
||||
# else
|
||||
# define FMT_DEFAULTED {}
|
||||
# define FMT_DEFAULTED_COPY_CTOR(TypeName) \
|
||||
TypeName(const TypeName&) {}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef FMT_USE_USER_DEFINED_LITERALS
|
||||
// All compilers which support UDLs also support variadic templates. This
|
||||
// makes the fmt::literals implementation easier. However, an explicit check
|
||||
@ -2405,7 +2422,7 @@ class SystemError : public internal::RuntimeError {
|
||||
SystemError(int error_code, CStringRef message) {
|
||||
init(error_code, message, ArgList());
|
||||
}
|
||||
SystemError(const SystemError&) = default;
|
||||
FMT_DEFAULTED_COPY_CTOR(SystemError);
|
||||
FMT_VARIADIC_CTOR(SystemError, init, int, CStringRef)
|
||||
|
||||
FMT_API ~SystemError() FMT_DTOR_NOEXCEPT;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user