Changed clang formatting for templates

This commit is contained in:
gabime 2018-03-16 17:13:50 +02:00
parent f4ce52d206
commit 5afb5dc782
29 changed files with 291 additions and 288 deletions

View File

@ -13,7 +13,7 @@
#include "g2logworker.h" #include "g2logworker.h"
using namespace std; using namespace std;
template <typename T> std::string format(const T &value); template<typename T> std::string format(const T &value);
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {

View File

@ -11,7 +11,7 @@
namespace utils { namespace utils {
template <typename T> inline std::string format(const T &value) template<typename T> inline std::string format(const T &value)
{ {
static std::locale loc(""); static std::locale loc("");
std::stringstream ss; std::stringstream ss;
@ -20,7 +20,7 @@ template <typename T> inline std::string format(const T &value)
return ss.str(); return ss.str();
} }
template <> inline std::string format(const double &value) template<> inline std::string format(const double &value)
{ {
static std::locale loc(""); static std::locale loc("");
std::stringstream ss; std::stringstream ss;

View File

@ -11,7 +11,7 @@
namespace utils { namespace utils {
template <typename T> inline std::string format(const T &value) template<typename T> inline std::string format(const T &value)
{ {
static std::locale loc(""); static std::locale loc("");
std::stringstream ss; std::stringstream ss;
@ -20,7 +20,7 @@ template <typename T> inline std::string format(const T &value)
return ss.str(); return ss.str();
} }
template <> inline std::string format(const double &value) template<> inline std::string format(const double &value)
{ {
static std::locale loc(""); static std::locale loc("");
std::stringstream ss; std::stringstream ss;

View File

@ -24,6 +24,12 @@ void err_handler_example();
namespace spd = spdlog; namespace spd = spdlog;
int main(int, char *[]) int main(int, char *[])
{ {
fmt::MemoryWriter w;
w.write("HELLO", 10);
std::string s(w.data(), w.size());
std::cout << s << std::endl;
return 0;
try try
{ {
// Console logger with color // Console logger with color
@ -133,7 +139,7 @@ void android_example()
struct my_type struct my_type
{ {
int i; int i;
template <typename OStream> friend OStream &operator<<(OStream &os, const my_type &c) template<typename OStream> friend OStream &operator<<(OStream &os, const my_type &c)
{ {
return os << "[my_type i=" << c.i << "]"; return os << "[my_type i=" << c.i << "]";
} }

View File

@ -133,7 +133,7 @@ void android_example()
struct my_type struct my_type
{ {
int i; int i;
template <typename OStream> friend OStream &operator<<(OStream &os, const my_type &c) template<typename OStream> friend OStream &operator<<(OStream &os, const my_type &c)
{ {
return os << "[my_type i=" << c.i << "]"; return os << "[my_type i=" << c.i << "]";
} }

View File

@ -11,7 +11,7 @@
namespace utils { namespace utils {
template <typename T> inline std::string format(const T &value) template<typename T> inline std::string format(const T &value)
{ {
static std::locale loc(""); static std::locale loc("");
std::stringstream ss; std::stringstream ss;
@ -20,7 +20,7 @@ template <typename T> inline std::string format(const T &value)
return ss.str(); return ss.str();
} }
template <> inline std::string format(const double &value) template<> inline std::string format(const double &value)
{ {
static std::locale loc(""); static std::locale loc("");
std::stringstream ss; std::stringstream ss;

View File

@ -32,7 +32,7 @@ class async_log_helper;
class async_logger SPDLOG_FINAL : public logger class async_logger SPDLOG_FINAL : public logger
{ {
public: public:
template <class It> template<class It>
async_logger(const std::string &logger_name, const It &begin, const It &end, size_t queue_size, async_logger(const std::string &logger_name, const It &begin, const It &end, size_t queue_size,
const async_overflow_policy overflow_policy = async_overflow_policy::block_retry, const async_overflow_policy overflow_policy = async_overflow_policy::block_retry,
const std::function<void()> &worker_warmup_cb = nullptr, const std::function<void()> &worker_warmup_cb = nullptr,

View File

@ -16,7 +16,7 @@
#include <memory> #include <memory>
#include <string> #include <string>
template <class It> template<class It>
inline spdlog::async_logger::async_logger(const std::string &logger_name, const It &begin, const It &end, size_t queue_size, inline spdlog::async_logger::async_logger(const std::string &logger_name, const It &begin, const It &end, size_t queue_size,
const async_overflow_policy overflow_policy, const std::function<void()> &worker_warmup_cb, const async_overflow_policy overflow_policy, const std::function<void()> &worker_warmup_cb,
const std::chrono::milliseconds &flush_interval_ms, const std::function<void()> &worker_teardown_cb) const std::chrono::milliseconds &flush_interval_ms, const std::function<void()> &worker_teardown_cb)

View File

@ -13,7 +13,7 @@
// create logger with given name, sinks and the default pattern formatter // create logger with given name, sinks and the default pattern formatter
// all other ctors will call this one // all other ctors will call this one
template <class It> template<class It>
inline spdlog::logger::logger(std::string logger_name, const It &begin, const It &end) inline spdlog::logger::logger(std::string logger_name, const It &begin, const It &end)
: _name(std::move(logger_name)) : _name(std::move(logger_name))
, _sinks(begin, end) , _sinks(begin, end)
@ -50,7 +50,7 @@ inline void spdlog::logger::set_pattern(const std::string &pattern, pattern_time
_set_pattern(pattern, pattern_time); _set_pattern(pattern, pattern_time);
} }
template <typename... Args> inline void spdlog::logger::log(level::level_enum lvl, const char *fmt, const Args &... args) template<typename... Args> inline void spdlog::logger::log(level::level_enum lvl, const char *fmt, const Args &... args)
{ {
if (!should_log(lvl)) if (!should_log(lvl))
return; return;
@ -77,7 +77,7 @@ template <typename... Args> inline void spdlog::logger::log(level::level_enum lv
} }
} }
template <typename... Args> inline void spdlog::logger::log(level::level_enum lvl, const char *msg) template<typename... Args> inline void spdlog::logger::log(level::level_enum lvl, const char *msg)
{ {
if (!should_log(lvl)) if (!should_log(lvl))
return; return;
@ -98,7 +98,7 @@ template <typename... Args> inline void spdlog::logger::log(level::level_enum lv
} }
} }
template <typename T> inline void spdlog::logger::log(level::level_enum lvl, const T &msg) template<typename T> inline void spdlog::logger::log(level::level_enum lvl, const T &msg)
{ {
if (!should_log(lvl)) if (!should_log(lvl))
return; return;
@ -119,62 +119,62 @@ template <typename T> inline void spdlog::logger::log(level::level_enum lvl, con
} }
} }
template <typename Arg1, typename... Args> inline void spdlog::logger::trace(const char *fmt, const Arg1 &arg1, const Args &... args) template<typename Arg1, typename... Args> inline void spdlog::logger::trace(const char *fmt, const Arg1 &arg1, const Args &... args)
{ {
log(level::trace, fmt, arg1, args...); log(level::trace, fmt, arg1, args...);
} }
template <typename Arg1, typename... Args> inline void spdlog::logger::debug(const char *fmt, const Arg1 &arg1, const Args &... args) template<typename Arg1, typename... Args> inline void spdlog::logger::debug(const char *fmt, const Arg1 &arg1, const Args &... args)
{ {
log(level::debug, fmt, arg1, args...); log(level::debug, fmt, arg1, args...);
} }
template <typename Arg1, typename... Args> inline void spdlog::logger::info(const char *fmt, const Arg1 &arg1, const Args &... args) template<typename Arg1, typename... Args> inline void spdlog::logger::info(const char *fmt, const Arg1 &arg1, const Args &... args)
{ {
log(level::info, fmt, arg1, args...); log(level::info, fmt, arg1, args...);
} }
template <typename Arg1, typename... Args> inline void spdlog::logger::warn(const char *fmt, const Arg1 &arg1, const Args &... args) template<typename Arg1, typename... Args> inline void spdlog::logger::warn(const char *fmt, const Arg1 &arg1, const Args &... args)
{ {
log(level::warn, fmt, arg1, args...); log(level::warn, fmt, arg1, args...);
} }
template <typename Arg1, typename... Args> inline void spdlog::logger::error(const char *fmt, const Arg1 &arg1, const Args &... args) template<typename Arg1, typename... Args> inline void spdlog::logger::error(const char *fmt, const Arg1 &arg1, const Args &... args)
{ {
log(level::err, fmt, arg1, args...); log(level::err, fmt, arg1, args...);
} }
template <typename Arg1, typename... Args> inline void spdlog::logger::critical(const char *fmt, const Arg1 &arg1, const Args &... args) template<typename Arg1, typename... Args> inline void spdlog::logger::critical(const char *fmt, const Arg1 &arg1, const Args &... args)
{ {
log(level::critical, fmt, arg1, args...); log(level::critical, fmt, arg1, args...);
} }
template <typename T> inline void spdlog::logger::trace(const T &msg) template<typename T> inline void spdlog::logger::trace(const T &msg)
{ {
log(level::trace, msg); log(level::trace, msg);
} }
template <typename T> inline void spdlog::logger::debug(const T &msg) template<typename T> inline void spdlog::logger::debug(const T &msg)
{ {
log(level::debug, msg); log(level::debug, msg);
} }
template <typename T> inline void spdlog::logger::info(const T &msg) template<typename T> inline void spdlog::logger::info(const T &msg)
{ {
log(level::info, msg); log(level::info, msg);
} }
template <typename T> inline void spdlog::logger::warn(const T &msg) template<typename T> inline void spdlog::logger::warn(const T &msg)
{ {
log(level::warn, msg); log(level::warn, msg);
} }
template <typename T> inline void spdlog::logger::error(const T &msg) template<typename T> inline void spdlog::logger::error(const T &msg)
{ {
log(level::err, msg); log(level::err, msg);
} }
template <typename T> inline void spdlog::logger::critical(const T &msg) template<typename T> inline void spdlog::logger::critical(const T &msg)
{ {
log(level::critical, msg); log(level::critical, msg);
} }
@ -183,14 +183,14 @@ template <typename T> inline void spdlog::logger::critical(const T &msg)
#include <codecvt> #include <codecvt>
#include <locale> #include <locale>
template <typename... Args> inline void spdlog::logger::log(level::level_enum lvl, const wchar_t *msg) template<typename... Args> inline void spdlog::logger::log(level::level_enum lvl, const wchar_t *msg)
{ {
std::wstring_convert<std::codecvt_utf8<wchar_t>> conv; std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
log(lvl, conv.to_bytes(msg)); log(lvl, conv.to_bytes(msg));
} }
template <typename... Args> inline void spdlog::logger::log(level::level_enum lvl, const wchar_t *fmt, const Args &... args) template<typename... Args> inline void spdlog::logger::log(level::level_enum lvl, const wchar_t *fmt, const Args &... args)
{ {
fmt::WMemoryWriter wWriter; fmt::WMemoryWriter wWriter;
@ -198,32 +198,32 @@ template <typename... Args> inline void spdlog::logger::log(level::level_enum lv
log(lvl, wWriter.c_str()); log(lvl, wWriter.c_str());
} }
template <typename... Args> inline void spdlog::logger::trace(const wchar_t *fmt, const Args &... args) template<typename... Args> inline void spdlog::logger::trace(const wchar_t *fmt, const Args &... args)
{ {
log(level::trace, fmt, args...); log(level::trace, fmt, args...);
} }
template <typename... Args> inline void spdlog::logger::debug(const wchar_t *fmt, const Args &... args) template<typename... Args> inline void spdlog::logger::debug(const wchar_t *fmt, const Args &... args)
{ {
log(level::debug, fmt, args...); log(level::debug, fmt, args...);
} }
template <typename... Args> inline void spdlog::logger::info(const wchar_t *fmt, const Args &... args) template<typename... Args> inline void spdlog::logger::info(const wchar_t *fmt, const Args &... args)
{ {
log(level::info, fmt, args...); log(level::info, fmt, args...);
} }
template <typename... Args> inline void spdlog::logger::warn(const wchar_t *fmt, const Args &... args) template<typename... Args> inline void spdlog::logger::warn(const wchar_t *fmt, const Args &... args)
{ {
log(level::warn, fmt, args...); log(level::warn, fmt, args...);
} }
template <typename... Args> inline void spdlog::logger::error(const wchar_t *fmt, const Args &... args) template<typename... Args> inline void spdlog::logger::error(const wchar_t *fmt, const Args &... args)
{ {
log(level::err, fmt, args...); log(level::err, fmt, args...);
} }
template <typename... Args> inline void spdlog::logger::critical(const wchar_t *fmt, const Args &... args) template<typename... Args> inline void spdlog::logger::critical(const wchar_t *fmt, const Args &... args)
{ {
log(level::critical, fmt, args...); log(level::critical, fmt, args...);
} }

View File

@ -50,7 +50,7 @@ Distributed under the MIT License (http://opensource.org/licenses/MIT)
namespace spdlog { namespace details { namespace spdlog { namespace details {
template <typename T> class mpmc_bounded_queue template<typename T> class mpmc_bounded_queue
{ {
public: public:
using item_type = T; using item_type = T;

View File

@ -23,7 +23,7 @@
#include <unordered_map> #include <unordered_map>
namespace spdlog { namespace details { namespace spdlog { namespace details {
template <class Mutex> class registry_t template<class Mutex> class registry_t
{ {
public: public:
registry_t<Mutex>(const registry_t<Mutex> &) = delete; registry_t<Mutex>(const registry_t<Mutex> &) = delete;
@ -44,7 +44,7 @@ public:
return found == _loggers.end() ? nullptr : found->second; return found == _loggers.end() ? nullptr : found->second;
} }
template <class It> std::shared_ptr<logger> create(const std::string &logger_name, const It &sinks_begin, const It &sinks_end) template<class It> std::shared_ptr<logger> create(const std::string &logger_name, const It &sinks_begin, const It &sinks_end)
{ {
std::lock_guard<Mutex> lock(_mutex); std::lock_guard<Mutex> lock(_mutex);
throw_if_exists(logger_name); throw_if_exists(logger_name);
@ -69,7 +69,7 @@ public:
return new_logger; return new_logger;
} }
template <class It> template<class It>
std::shared_ptr<async_logger> create_async(const std::string &logger_name, size_t queue_size, std::shared_ptr<async_logger> create_async(const std::string &logger_name, size_t queue_size,
const async_overflow_policy overflow_policy, const std::function<void()> &worker_warmup_cb, const async_overflow_policy overflow_policy, const std::function<void()> &worker_warmup_cb,
const std::chrono::milliseconds &flush_interval_ms, const std::function<void()> &worker_teardown_cb, const It &sinks_begin, const std::chrono::milliseconds &flush_interval_ms, const std::function<void()> &worker_teardown_cb, const It &sinks_begin,

View File

@ -190,14 +190,14 @@ inline std::shared_ptr<spdlog::logger> spdlog::create(const std::string &logger_
return details::registry::instance().create(logger_name, sinks); return details::registry::instance().create(logger_name, sinks);
} }
template <typename Sink, typename... Args> template<typename Sink, typename... Args>
inline std::shared_ptr<spdlog::logger> spdlog::create(const std::string &logger_name, Args... args) inline std::shared_ptr<spdlog::logger> spdlog::create(const std::string &logger_name, Args... args)
{ {
sink_ptr sink = std::make_shared<Sink>(args...); sink_ptr sink = std::make_shared<Sink>(args...);
return details::registry::instance().create(logger_name, {sink}); return details::registry::instance().create(logger_name, {sink});
} }
template <class It> template<class It>
inline std::shared_ptr<spdlog::logger> spdlog::create(const std::string &logger_name, const It &sinks_begin, const It &sinks_end) inline std::shared_ptr<spdlog::logger> spdlog::create(const std::string &logger_name, const It &sinks_begin, const It &sinks_end)
{ {
return details::registry::instance().create(logger_name, sinks_begin, sinks_end); return details::registry::instance().create(logger_name, sinks_begin, sinks_end);
@ -221,7 +221,7 @@ inline std::shared_ptr<spdlog::logger> spdlog::create_async(const std::string &l
logger_name, queue_size, overflow_policy, worker_warmup_cb, flush_interval_ms, worker_teardown_cb, sinks); logger_name, queue_size, overflow_policy, worker_warmup_cb, flush_interval_ms, worker_teardown_cb, sinks);
} }
template <class It> template<class It>
inline std::shared_ptr<spdlog::logger> spdlog::create_async(const std::string &logger_name, const It &sinks_begin, const It &sinks_end, inline std::shared_ptr<spdlog::logger> spdlog::create_async(const std::string &logger_name, const It &sinks_begin, const It &sinks_end,
size_t queue_size, const async_overflow_policy overflow_policy, const std::function<void()> &worker_warmup_cb, size_t queue_size, const async_overflow_policy overflow_policy, const std::function<void()> &worker_warmup_cb,
const std::chrono::milliseconds &flush_interval_ms, const std::function<void()> &worker_teardown_cb) const std::chrono::milliseconds &flush_interval_ms, const std::function<void()> &worker_teardown_cb)

File diff suppressed because it is too large Load Diff

View File

@ -17,7 +17,7 @@ namespace fmt {
namespace internal { namespace internal {
template <class Char> class FormatBuf : public std::basic_streambuf<Char> template<class Char> class FormatBuf : public std::basic_streambuf<Char>
{ {
private: private:
typedef typename std::basic_streambuf<Char>::int_type int_type; typedef typename std::basic_streambuf<Char>::int_type int_type;
@ -60,12 +60,12 @@ struct DummyStream : std::ostream
DummyStream(); // Suppress a bogus warning in MSVC. DummyStream(); // Suppress a bogus warning in MSVC.
// Hide all operator<< overloads from std::ostream. // Hide all operator<< overloads from std::ostream.
template <typename T> typename EnableIf<sizeof(T) == 0>::type operator<<(const T &); template<typename T> typename EnableIf<sizeof(T) == 0>::type operator<<(const T &);
}; };
No &operator<<(std::ostream &, int); No &operator<<(std::ostream &, int);
template <typename T> struct ConvertToIntImpl<T, true> template<typename T> struct ConvertToIntImpl<T, true>
{ {
// Convert to int only if T doesn't have an overloaded operator<<. // Convert to int only if T doesn't have an overloaded operator<<.
enum enum
@ -79,7 +79,7 @@ FMT_API void write(std::ostream &os, Writer &w);
} // namespace internal } // namespace internal
// Formats a value. // Formats a value.
template <typename Char, typename ArgFormatter_, typename T> template<typename Char, typename ArgFormatter_, typename T>
void format_arg(BasicFormatter<Char, ArgFormatter_> &f, const Char *&format_str, const T &value) void format_arg(BasicFormatter<Char, ArgFormatter_> &f, const Char *&format_str, const T &value)
{ {
internal::MemoryBuffer<Char, internal::INLINE_BUFFER_SIZE> buffer; internal::MemoryBuffer<Char, internal::INLINE_BUFFER_SIZE> buffer;

View File

@ -20,9 +20,9 @@ namespace internal {
// Checks if a value fits in int - used to avoid warnings about comparing // Checks if a value fits in int - used to avoid warnings about comparing
// signed and unsigned integers. // signed and unsigned integers.
template <bool IsSigned> struct IntChecker template<bool IsSigned> struct IntChecker
{ {
template <typename T> static bool fits_in_int(T value) template<typename T> static bool fits_in_int(T value)
{ {
unsigned max = std::numeric_limits<int>::max(); unsigned max = std::numeric_limits<int>::max();
return value <= max; return value <= max;
@ -33,9 +33,9 @@ template <bool IsSigned> struct IntChecker
} }
}; };
template <> struct IntChecker<true> template<> struct IntChecker<true>
{ {
template <typename T> static bool fits_in_int(T value) template<typename T> static bool fits_in_int(T value)
{ {
return value >= std::numeric_limits<int>::min() && value <= std::numeric_limits<int>::max(); return value >= std::numeric_limits<int>::min() && value <= std::numeric_limits<int>::max();
} }
@ -53,7 +53,7 @@ public:
FMT_THROW(FormatError("precision is not integer")); FMT_THROW(FormatError("precision is not integer"));
} }
template <typename T> int visit_any_int(T value) template<typename T> int visit_any_int(T value)
{ {
if (!IntChecker<std::numeric_limits<T>::is_signed>::fits_in_int(value)) if (!IntChecker<std::numeric_limits<T>::is_signed>::fits_in_int(value))
FMT_THROW(FormatError("number is too big")); FMT_THROW(FormatError("number is too big"));
@ -65,7 +65,7 @@ public:
class IsZeroInt : public ArgVisitor<IsZeroInt, bool> class IsZeroInt : public ArgVisitor<IsZeroInt, bool>
{ {
public: public:
template <typename T> bool visit_any_int(T value) template<typename T> bool visit_any_int(T value)
{ {
return value == 0; return value == 0;
} }
@ -90,12 +90,12 @@ public:
return 'p'; return 'p';
} }
template <typename T> char visit_any_int(T) template<typename T> char visit_any_int(T)
{ {
return 'd'; return 'd';
} }
template <typename T> char visit_any_double(T) template<typename T> char visit_any_double(T)
{ {
return 'g'; return 'g';
} }
@ -106,7 +106,7 @@ public:
} }
}; };
template <typename T, typename U> struct is_same template<typename T, typename U> struct is_same
{ {
enum enum
{ {
@ -114,7 +114,7 @@ template <typename T, typename U> struct is_same
}; };
}; };
template <typename T> struct is_same<T, T> template<typename T> struct is_same<T, T>
{ {
enum enum
{ {
@ -126,7 +126,7 @@ template <typename T> struct is_same<T, T>
// if T is an integral type. If T is void, the argument is converted to // if T is an integral type. If T is void, the argument is converted to
// corresponding signed or unsigned type depending on the type specifier: // corresponding signed or unsigned type depending on the type specifier:
// 'd' and 'i' - signed, other - unsigned) // 'd' and 'i' - signed, other - unsigned)
template <typename T = void> class ArgConverter : public ArgVisitor<ArgConverter<T>, void> template<typename T = void> class ArgConverter : public ArgVisitor<ArgConverter<T>, void>
{ {
private: private:
internal::Arg &arg_; internal::Arg &arg_;
@ -153,7 +153,7 @@ public:
visit_any_int(value); visit_any_int(value);
} }
template <typename U> void visit_any_int(U value) template<typename U> void visit_any_int(U value)
{ {
bool is_signed = type_ == 'd' || type_ == 'i'; bool is_signed = type_ == 'd' || type_ == 'i';
if (type_ == 's') if (type_ == 's')
@ -211,7 +211,7 @@ public:
{ {
} }
template <typename T> void visit_any_int(T value) template<typename T> void visit_any_int(T value)
{ {
arg_.type = internal::Arg::CHAR; arg_.type = internal::Arg::CHAR;
arg_.int_value = static_cast<char>(value); arg_.int_value = static_cast<char>(value);
@ -238,7 +238,7 @@ public:
FMT_THROW(FormatError("width is not integer")); FMT_THROW(FormatError("width is not integer"));
} }
template <typename T> unsigned visit_any_int(T value) template<typename T> unsigned visit_any_int(T value)
{ {
typedef typename internal::IntTraits<T>::MainType UnsignedType; typedef typename internal::IntTraits<T>::MainType UnsignedType;
UnsignedType width = static_cast<UnsignedType>(value); UnsignedType width = static_cast<UnsignedType>(value);
@ -272,7 +272,7 @@ public:
superclass will be called. superclass will be called.
\endrst \endrst
*/ */
template <typename Impl, typename Char, typename Spec> class BasicPrintfArgFormatter : public internal::ArgFormatterBase<Impl, Char, Spec> template<typename Impl, typename Char, typename Spec> class BasicPrintfArgFormatter : public internal::ArgFormatterBase<Impl, Char, Spec>
{ {
private: private:
void write_null_pointer() void write_null_pointer()
@ -367,7 +367,7 @@ public:
}; };
/** The default printf argument formatter. */ /** The default printf argument formatter. */
template <typename Char> class PrintfArgFormatter : public BasicPrintfArgFormatter<PrintfArgFormatter<Char>, Char, FormatSpec> template<typename Char> class PrintfArgFormatter : public BasicPrintfArgFormatter<PrintfArgFormatter<Char>, Char, FormatSpec>
{ {
public: public:
/** Constructs an argument formatter object. */ /** Constructs an argument formatter object. */
@ -378,7 +378,7 @@ public:
}; };
/** This template formats data and writes the output to a writer. */ /** This template formats data and writes the output to a writer. */
template <typename Char, typename ArgFormatter = PrintfArgFormatter<Char>> class PrintfFormatter : private internal::FormatterBase template<typename Char, typename ArgFormatter = PrintfArgFormatter<Char>> class PrintfFormatter : private internal::FormatterBase
{ {
private: private:
BasicWriter<Char> &writer_; BasicWriter<Char> &writer_;
@ -410,7 +410,7 @@ public:
void format(BasicCStringRef<Char> format_str); void format(BasicCStringRef<Char> format_str);
}; };
template <typename Char, typename AF> void PrintfFormatter<Char, AF>::parse_flags(FormatSpec &spec, const Char *&s) template<typename Char, typename AF> void PrintfFormatter<Char, AF>::parse_flags(FormatSpec &spec, const Char *&s)
{ {
for (;;) for (;;)
{ {
@ -438,7 +438,7 @@ template <typename Char, typename AF> void PrintfFormatter<Char, AF>::parse_flag
} }
} }
template <typename Char, typename AF> internal::Arg PrintfFormatter<Char, AF>::get_arg(const Char *s, unsigned arg_index) template<typename Char, typename AF> internal::Arg PrintfFormatter<Char, AF>::get_arg(const Char *s, unsigned arg_index)
{ {
(void)s; (void)s;
const char *error = FMT_NULL; const char *error = FMT_NULL;
@ -448,7 +448,7 @@ template <typename Char, typename AF> internal::Arg PrintfFormatter<Char, AF>::g
return arg; return arg;
} }
template <typename Char, typename AF> unsigned PrintfFormatter<Char, AF>::parse_header(const Char *&s, FormatSpec &spec) template<typename Char, typename AF> unsigned PrintfFormatter<Char, AF>::parse_header(const Char *&s, FormatSpec &spec)
{ {
unsigned arg_index = std::numeric_limits<unsigned>::max(); unsigned arg_index = std::numeric_limits<unsigned>::max();
Char c = *s; Char c = *s;
@ -489,7 +489,7 @@ template <typename Char, typename AF> unsigned PrintfFormatter<Char, AF>::parse_
return arg_index; return arg_index;
} }
template <typename Char, typename AF> void PrintfFormatter<Char, AF>::format(BasicCStringRef<Char> format_str) template<typename Char, typename AF> void PrintfFormatter<Char, AF>::format(BasicCStringRef<Char> format_str)
{ {
const Char *start = format_str.c_str(); const Char *start = format_str.c_str();
const Char *s = start; const Char *s = start;

View File

@ -20,7 +20,7 @@
#endif #endif
namespace fmt { namespace fmt {
template <typename ArgFormatter> void format_arg(BasicFormatter<char, ArgFormatter> &f, const char *&format_str, const std::tm &tm) template<typename ArgFormatter> void format_arg(BasicFormatter<char, ArgFormatter> &f, const char *&format_str, const std::tm &tm)
{ {
if (*format_str == ':') if (*format_str == ':')
++format_str; ++format_str;

View File

@ -27,40 +27,40 @@ public:
logger(const std::string &name, sink_ptr single_sink); logger(const std::string &name, sink_ptr single_sink);
logger(const std::string &name, sinks_init_list sinks); logger(const std::string &name, sinks_init_list sinks);
template <class It> logger(std::string name, const It &begin, const It &end); template<class It> logger(std::string name, const It &begin, const It &end);
virtual ~logger(); virtual ~logger();
logger(const logger &) = delete; logger(const logger &) = delete;
logger &operator=(const logger &) = delete; logger &operator=(const logger &) = delete;
template <typename... Args> void log(level::level_enum lvl, const char *fmt, const Args &... args); template<typename... Args> void log(level::level_enum lvl, const char *fmt, const Args &... args);
template <typename... Args> void log(level::level_enum lvl, const char *msg); template<typename... Args> void log(level::level_enum lvl, const char *msg);
template <typename Arg1, typename... Args> void trace(const char *fmt, const Arg1 &, const Args &... args); template<typename Arg1, typename... Args> void trace(const char *fmt, const Arg1 &, const Args &... args);
template <typename Arg1, typename... Args> void debug(const char *fmt, const Arg1 &, const Args &... args); template<typename Arg1, typename... Args> void debug(const char *fmt, const Arg1 &, const Args &... args);
template <typename Arg1, typename... Args> void info(const char *fmt, const Arg1 &, const Args &... args); template<typename Arg1, typename... Args> void info(const char *fmt, const Arg1 &, const Args &... args);
template <typename Arg1, typename... Args> void warn(const char *fmt, const Arg1 &, const Args &... args); template<typename Arg1, typename... Args> void warn(const char *fmt, const Arg1 &, const Args &... args);
template <typename Arg1, typename... Args> void error(const char *fmt, const Arg1 &, const Args &... args); template<typename Arg1, typename... Args> void error(const char *fmt, const Arg1 &, const Args &... args);
template <typename Arg1, typename... Args> void critical(const char *fmt, const Arg1 &, const Args &... args); template<typename Arg1, typename... Args> void critical(const char *fmt, const Arg1 &, const Args &... args);
#ifdef SPDLOG_WCHAR_TO_UTF8_SUPPORT #ifdef SPDLOG_WCHAR_TO_UTF8_SUPPORT
template <typename... Args> void log(level::level_enum lvl, const wchar_t *msg); template<typename... Args> void log(level::level_enum lvl, const wchar_t *msg);
template <typename... Args> void log(level::level_enum lvl, const wchar_t *fmt, const Args &... args); template<typename... Args> void log(level::level_enum lvl, const wchar_t *fmt, const Args &... args);
template <typename... Args> void trace(const wchar_t *fmt, const Args &... args); template<typename... Args> void trace(const wchar_t *fmt, const Args &... args);
template <typename... Args> void debug(const wchar_t *fmt, const Args &... args); template<typename... Args> void debug(const wchar_t *fmt, const Args &... args);
template <typename... Args> void info(const wchar_t *fmt, const Args &... args); template<typename... Args> void info(const wchar_t *fmt, const Args &... args);
template <typename... Args> void warn(const wchar_t *fmt, const Args &... args); template<typename... Args> void warn(const wchar_t *fmt, const Args &... args);
template <typename... Args> void error(const wchar_t *fmt, const Args &... args); template<typename... Args> void error(const wchar_t *fmt, const Args &... args);
template <typename... Args> void critical(const wchar_t *fmt, const Args &... args); template<typename... Args> void critical(const wchar_t *fmt, const Args &... args);
#endif // SPDLOG_WCHAR_TO_UTF8_SUPPORT #endif // SPDLOG_WCHAR_TO_UTF8_SUPPORT
template <typename T> void log(level::level_enum lvl, const T &); template<typename T> void log(level::level_enum lvl, const T &);
template <typename T> void trace(const T &msg); template<typename T> void trace(const T &msg);
template <typename T> void debug(const T &msg); template<typename T> void debug(const T &msg);
template <typename T> void info(const T &msg); template<typename T> void info(const T &msg);
template <typename T> void warn(const T &msg); template<typename T> void warn(const T &msg);
template <typename T> void error(const T &msg); template<typename T> void error(const T &msg);
template <typename T> void critical(const T &msg); template<typename T> void critical(const T &msg);
bool should_log(level::level_enum msg_level) const; bool should_log(level::level_enum msg_level) const;
void set_level(level::level_enum log_level); void set_level(level::level_enum log_level);

View File

@ -19,7 +19,7 @@ namespace spdlog { namespace sinks {
* of the message. * of the message.
* If no color terminal detected, omit the escape codes. * If no color terminal detected, omit the escape codes.
*/ */
template <class Mutex> class ansicolor_sink : public base_sink<Mutex> template<class Mutex> class ansicolor_sink : public base_sink<Mutex>
{ {
public: public:
explicit ansicolor_sink(FILE *file) explicit ansicolor_sink(FILE *file)
@ -106,7 +106,7 @@ protected:
std::unordered_map<level::level_enum, std::string, level::level_hasher> colors_; std::unordered_map<level::level_enum, std::string, level::level_hasher> colors_;
}; };
template <class Mutex> class ansicolor_stdout_sink : public ansicolor_sink<Mutex> template<class Mutex> class ansicolor_stdout_sink : public ansicolor_sink<Mutex>
{ {
public: public:
ansicolor_stdout_sink() ansicolor_stdout_sink()
@ -118,7 +118,7 @@ public:
using ansicolor_stdout_sink_mt = ansicolor_stdout_sink<std::mutex>; using ansicolor_stdout_sink_mt = ansicolor_stdout_sink<std::mutex>;
using ansicolor_stdout_sink_st = ansicolor_stdout_sink<details::null_mutex>; using ansicolor_stdout_sink_st = ansicolor_stdout_sink<details::null_mutex>;
template <class Mutex> class ansicolor_stderr_sink : public ansicolor_sink<Mutex> template<class Mutex> class ansicolor_stderr_sink : public ansicolor_sink<Mutex>
{ {
public: public:
ansicolor_stderr_sink() ansicolor_stderr_sink()

View File

@ -18,7 +18,7 @@
#include <mutex> #include <mutex>
namespace spdlog { namespace sinks { namespace spdlog { namespace sinks {
template <class Mutex> class base_sink : public sink template<class Mutex> class base_sink : public sink
{ {
public: public:
base_sink() = default; base_sink() = default;

View File

@ -18,7 +18,7 @@
// Distribution sink (mux). Stores a vector of sinks which get called when log is called // Distribution sink (mux). Stores a vector of sinks which get called when log is called
namespace spdlog { namespace sinks { namespace spdlog { namespace sinks {
template <class Mutex> class dist_sink : public base_sink<Mutex> template<class Mutex> class dist_sink : public base_sink<Mutex>
{ {
public: public:
explicit dist_sink() explicit dist_sink()

View File

@ -22,7 +22,7 @@ namespace spdlog { namespace sinks {
/* /*
* Trivial file sink with single file as target * Trivial file sink with single file as target
*/ */
template <class Mutex> class simple_file_sink SPDLOG_FINAL : public base_sink<Mutex> template<class Mutex> class simple_file_sink SPDLOG_FINAL : public base_sink<Mutex>
{ {
public: public:
explicit simple_file_sink(const filename_t &filename, bool truncate = false) explicit simple_file_sink(const filename_t &filename, bool truncate = false)
@ -60,7 +60,7 @@ using simple_file_sink_st = simple_file_sink<details::null_mutex>;
/* /*
* Rotating file sink based on size * Rotating file sink based on size
*/ */
template <class Mutex> class rotating_file_sink SPDLOG_FINAL : public base_sink<Mutex> template<class Mutex> class rotating_file_sink SPDLOG_FINAL : public base_sink<Mutex>
{ {
public: public:
rotating_file_sink(filename_t base_filename, std::size_t max_size, std::size_t max_files) rotating_file_sink(filename_t base_filename, std::size_t max_size, std::size_t max_files)
@ -185,7 +185,7 @@ struct dateonly_daily_file_name_calculator
/* /*
* Rotating file sink based on date. rotates at midnight * Rotating file sink based on date. rotates at midnight
*/ */
template <class Mutex, class FileNameCalc = default_daily_file_name_calculator> class daily_file_sink SPDLOG_FINAL : public base_sink<Mutex> template<class Mutex, class FileNameCalc = default_daily_file_name_calculator> class daily_file_sink SPDLOG_FINAL : public base_sink<Mutex>
{ {
public: public:
// create daily file sink which rotates on given time // create daily file sink which rotates on given time

View File

@ -19,7 +19,7 @@ namespace spdlog { namespace sinks {
/* /*
* MSVC sink (logging using OutputDebugStringA) * MSVC sink (logging using OutputDebugStringA)
*/ */
template <class Mutex> class msvc_sink : public base_sink<Mutex> template<class Mutex> class msvc_sink : public base_sink<Mutex>
{ {
public: public:
explicit msvc_sink() {} explicit msvc_sink() {}

View File

@ -12,7 +12,7 @@
namespace spdlog { namespace sinks { namespace spdlog { namespace sinks {
template <class Mutex> class null_sink : public base_sink<Mutex> template<class Mutex> class null_sink : public base_sink<Mutex>
{ {
protected: protected:
void _sink_it(const details::log_msg &) override {} void _sink_it(const details::log_msg &) override {}

View File

@ -12,7 +12,7 @@
#include <ostream> #include <ostream>
namespace spdlog { namespace sinks { namespace spdlog { namespace sinks {
template <class Mutex> class ostream_sink : public base_sink<Mutex> template<class Mutex> class ostream_sink : public base_sink<Mutex>
{ {
public: public:
explicit ostream_sink(std::ostream &os, bool force_flush = false) explicit ostream_sink(std::ostream &os, bool force_flush = false)

View File

@ -14,7 +14,7 @@
namespace spdlog { namespace sinks { namespace spdlog { namespace sinks {
template <class Mutex> class stdout_sink SPDLOG_FINAL : public base_sink<Mutex> template<class Mutex> class stdout_sink SPDLOG_FINAL : public base_sink<Mutex>
{ {
using MyType = stdout_sink<Mutex>; using MyType = stdout_sink<Mutex>;
@ -43,7 +43,7 @@ protected:
using stdout_sink_mt = stdout_sink<std::mutex>; using stdout_sink_mt = stdout_sink<std::mutex>;
using stdout_sink_st = stdout_sink<details::null_mutex>; using stdout_sink_st = stdout_sink<details::null_mutex>;
template <class Mutex> class stderr_sink SPDLOG_FINAL : public base_sink<Mutex> template<class Mutex> class stderr_sink SPDLOG_FINAL : public base_sink<Mutex>
{ {
using MyType = stderr_sink<Mutex>; using MyType = stderr_sink<Mutex>;

View File

@ -18,7 +18,7 @@ namespace spdlog { namespace sinks {
/* /*
* Windows color console sink. Uses WriteConsoleA to write to the console with colors * Windows color console sink. Uses WriteConsoleA to write to the console with colors
*/ */
template <class Mutex> class wincolor_sink : public base_sink<Mutex> template<class Mutex> class wincolor_sink : public base_sink<Mutex>
{ {
public: public:
const WORD BOLD = FOREGROUND_INTENSITY; const WORD BOLD = FOREGROUND_INTENSITY;
@ -89,7 +89,7 @@ private:
// //
// windows color console to stdout // windows color console to stdout
// //
template <class Mutex> class wincolor_stdout_sink : public wincolor_sink<Mutex> template<class Mutex> class wincolor_stdout_sink : public wincolor_sink<Mutex>
{ {
public: public:
wincolor_stdout_sink() wincolor_stdout_sink()
@ -104,7 +104,7 @@ using wincolor_stdout_sink_st = wincolor_stdout_sink<details::null_mutex>;
// //
// windows color console to stderr // windows color console to stderr
// //
template <class Mutex> class wincolor_stderr_sink : public wincolor_sink<Mutex> template<class Mutex> class wincolor_stderr_sink : public wincolor_sink<Mutex>
{ {
public: public:
wincolor_stderr_sink() wincolor_stderr_sink()

View File

@ -14,7 +14,7 @@ namespace spdlog { namespace sinks {
/* /*
* Windows debug sink (logging using OutputDebugStringA, synonym for msvc_sink) * Windows debug sink (logging using OutputDebugStringA, synonym for msvc_sink)
*/ */
template <class Mutex> using windebug_sink = msvc_sink<Mutex>; template<class Mutex> using windebug_sink = msvc_sink<Mutex>;
using windebug_sink_mt = msvc_sink_mt; using windebug_sink_mt = msvc_sink_mt;
using windebug_sink_st = msvc_sink_st; using windebug_sink_st = msvc_sink_st;

View File

@ -122,12 +122,12 @@ std::shared_ptr<logger> create(const std::string &logger_name, const sink_ptr &s
// Create and register a logger with multiple sinks // Create and register a logger with multiple sinks
std::shared_ptr<logger> create(const std::string &logger_name, sinks_init_list sinks); std::shared_ptr<logger> create(const std::string &logger_name, sinks_init_list sinks);
template <class It> std::shared_ptr<logger> create(const std::string &logger_name, const It &sinks_begin, const It &sinks_end); template<class It> std::shared_ptr<logger> create(const std::string &logger_name, const It &sinks_begin, const It &sinks_end);
// Create and register a logger with templated sink type // Create and register a logger with templated sink type
// Example: // Example:
// spdlog::create<daily_file_sink_st>("mylog", "dailylog_filename"); // spdlog::create<daily_file_sink_st>("mylog", "dailylog_filename");
template <typename Sink, typename... Args> std::shared_ptr<spdlog::logger> create(const std::string &logger_name, Args... args); template<typename Sink, typename... Args> std::shared_ptr<spdlog::logger> create(const std::string &logger_name, Args... args);
// Create and register an async logger with a single sink // Create and register an async logger with a single sink
std::shared_ptr<logger> create_async(const std::string &logger_name, const sink_ptr &sink, size_t queue_size, std::shared_ptr<logger> create_async(const std::string &logger_name, const sink_ptr &sink, size_t queue_size,
@ -142,7 +142,7 @@ std::shared_ptr<logger> create_async(const std::string &logger_name, sinks_init_
const std::function<void()> &worker_warmup_cb = nullptr, const std::function<void()> &worker_warmup_cb = nullptr,
const std::chrono::milliseconds &flush_interval_ms = std::chrono::milliseconds::zero(), const std::chrono::milliseconds &flush_interval_ms = std::chrono::milliseconds::zero(),
const std::function<void()> &worker_teardown_cb = nullptr); const std::function<void()> &worker_teardown_cb = nullptr);
template <class It> template<class It>
std::shared_ptr<logger> create_async(const std::string &logger_name, const It &sinks_begin, const It &sinks_end, size_t queue_size, std::shared_ptr<logger> create_async(const std::string &logger_name, const It &sinks_begin, const It &sinks_end, size_t queue_size,
const async_overflow_policy overflow_policy = async_overflow_policy::block_retry, const async_overflow_policy overflow_policy = async_overflow_policy::block_retry,
const std::function<void()> &worker_warmup_cb = nullptr, const std::function<void()> &worker_warmup_cb = nullptr,

View File

@ -1,6 +1,6 @@
#include "includes.h" #include "includes.h"
template <class T> std::string log_info(const T &what, spdlog::level::level_enum logger_level = spdlog::level::info) template<class T> std::string log_info(const T &what, spdlog::level::level_enum logger_level = spdlog::level::info)
{ {
std::ostringstream oss; std::ostringstream oss;