#pragma once #include #include #include #include "attr_composer.h" #include namespace spdlog { namespace details { template struct is_string : public std::integral_constant::value || std::is_convertible::value> {}; template struct is_number : public std::integral_constant::value || std::is_floating_point::value> {}; struct attr { std::string key; std::string value; public: template::value, key_t>::type * = nullptr, typename std::enable_if::value, value_t>::type * = nullptr> attr(key_t const &k, value_t const &v) { scramble(key, k); scramble(value, v); } template::value, key_t>::type * = nullptr, typename std::enable_if::value, value_t>::type * = nullptr> attr(key_t const &k, value_t const &v) { scramble(key, k); value = std::to_string(v); } }; } // namespace details using attribute_list = std::vector; } // namespace spdlog