mirror of
https://github.com/gabime/spdlog.git
synced 2024-11-15 08:25:43 +08:00
C++14 build fixes for older gcc #2333
This commit is contained in:
parent
128cbe5a06
commit
5f5e70e96e
@ -262,15 +262,16 @@ struct my_type
|
|||||||
: i(i){};
|
: i(i){};
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace fmt_lib = spdlog::fmt_lib;
|
FMTLIB_BEGIN_NAMESPACE
|
||||||
template<>
|
template<>
|
||||||
struct fmt_lib::formatter<my_type> : fmt_lib::formatter<std::string>
|
struct formatter<my_type> : formatter<std::string>
|
||||||
{
|
{
|
||||||
auto format(my_type my, format_context &ctx) -> decltype(ctx.out())
|
auto format(my_type my, format_context &ctx) -> decltype(ctx.out())
|
||||||
{
|
{
|
||||||
return fmt_lib::format_to(ctx.out(), "[my_type i={}]", my.i);
|
return format_to(ctx.out(), "[my_type i={}]", my.i);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
FMTLIB_END_NAMESPACE
|
||||||
|
|
||||||
void user_defined_example()
|
void user_defined_example()
|
||||||
{
|
{
|
||||||
|
@ -126,6 +126,13 @@ using sink_ptr = std::shared_ptr<sinks::sink>;
|
|||||||
using sinks_init_list = std::initializer_list<sink_ptr>;
|
using sinks_init_list = std::initializer_list<sink_ptr>;
|
||||||
using err_handler = std::function<void(const std::string &err_msg)>;
|
using err_handler = std::function<void(const std::string &err_msg)>;
|
||||||
#ifdef SPDLOG_USE_STD_FORMAT
|
#ifdef SPDLOG_USE_STD_FORMAT
|
||||||
|
# ifndef FMTLIB_BEGIN_NAMESPACE
|
||||||
|
# define FMTLIB_BEGIN_NAMESPACE \
|
||||||
|
namespace std {
|
||||||
|
# define FMTLIB_END_NAMESPACE \
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
|
||||||
namespace fmt_lib = std;
|
namespace fmt_lib = std;
|
||||||
|
|
||||||
using string_view_t = std::string_view;
|
using string_view_t = std::string_view;
|
||||||
@ -146,7 +153,16 @@ template<typename... Args>
|
|||||||
using wformat_string_t = std::wstring_view;
|
using wformat_string_t = std::wstring_view;
|
||||||
# endif
|
# endif
|
||||||
# define SPDLOG_BUF_TO_STRING(x) x
|
# define SPDLOG_BUF_TO_STRING(x) x
|
||||||
|
|
||||||
#else // use fmt lib instead of std::format
|
#else // use fmt lib instead of std::format
|
||||||
|
|
||||||
|
# ifndef FMTLIB_BEGIN_NAMESPACE
|
||||||
|
# define FMTLIB_BEGIN_NAMESPACE \
|
||||||
|
namespace fmt {
|
||||||
|
# define FMTLIB_END_NAMESPACE \
|
||||||
|
}
|
||||||
|
# endif
|
||||||
|
|
||||||
namespace fmt_lib = fmt;
|
namespace fmt_lib = fmt;
|
||||||
|
|
||||||
using string_view_t = fmt::basic_string_view<char>;
|
using string_view_t = fmt::basic_string_view<char>;
|
||||||
|
@ -8,8 +8,10 @@
|
|||||||
#include <cctype>
|
#include <cctype>
|
||||||
#include <spdlog/common.h>
|
#include <spdlog/common.h>
|
||||||
|
|
||||||
#if defined(__has_include) && __has_include(<version>)
|
#if defined(__has_include)
|
||||||
# include <version>
|
# if __has_include(<version>)
|
||||||
|
# include <version>
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if __cpp_lib_span >= 202002L
|
#if __cpp_lib_span >= 202002L
|
||||||
|
Loading…
Reference in New Issue
Block a user