Skip to content

Commit

Permalink
enable_if
Browse files Browse the repository at this point in the history
  • Loading branch information
gabime committed Jun 7, 2020
1 parent d6dbdbf commit e69699e
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions include/spdlog/logger.h
Expand Up @@ -74,8 +74,7 @@ class SPDLOG_API logger
void swap(spdlog::logger &other) SPDLOG_NOEXCEPT;

// FormatString is a type derived from fmt::compile_string
template<typename FormatString, typename std::enable_if<fmt::is_compile_string<FormatString>::value, int>::type * = nullptr,
typename... Args>
template<typename FormatString, typename std::enable_if<fmt::is_compile_string<FormatString>::value, int>::type = 0, typename... Args>
void log(source_loc loc, level::level_enum lvl, const FormatString &fmt, const Args &... args)
{
log_(loc, lvl, fmt, args...);
Expand Down Expand Up @@ -137,9 +136,8 @@ class SPDLOG_API logger
}

// T can be statically converted to string_view and isn't a fmt::compile_string
template<class T,
typename std::enable_if<std::is_convertible<const T &, spdlog::string_view_t>::value && !fmt::is_compile_string<T>::value, T>::type
* = nullptr>
template<class T, typename std::enable_if<
std::is_convertible<const T &, spdlog::string_view_t>::value && !fmt::is_compile_string<T>::value, int>::type = 0>
void log(source_loc loc, level::level_enum lvl, const T &msg)
{
log(loc, lvl, string_view_t{msg});
Expand Down Expand Up @@ -179,7 +177,7 @@ class SPDLOG_API logger
// T cannot be statically converted to string_view or wstring_view
template<class T, typename std::enable_if<!std::is_convertible<const T &, spdlog::string_view_t>::value &&
!is_convertible_to_wstring_view<const T &>::value,
T>::type * = nullptr>
int>::type = 0>
void log(source_loc loc, level::level_enum lvl, const T &msg)
{
log(loc, lvl, "{}", msg);
Expand Down Expand Up @@ -250,7 +248,7 @@ class SPDLOG_API logger
}

// T can be statically converted to wstring_view
template<class T, typename std::enable_if<is_convertible_to_wstring_view<const T &>::value, T>::type * = nullptr>
template<class T, typename std::enable_if<is_convertible_to_wstring_view<const T &>::value, int>::type = 0>
void log(source_loc loc, level::level_enum lvl, const T &msg)
{
bool log_enabled = should_log(lvl);
Expand Down

0 comments on commit e69699e

Please sign in to comment.