diff --git a/include/fmt/core.h b/include/fmt/core.h index f7a5da68..4b59fe5d 100644 --- a/include/fmt/core.h +++ b/include/fmt/core.h @@ -289,7 +289,7 @@ typedef basic_string_view string_view; typedef basic_string_view wstring_view; template -class basic_arg; +class basic_format_arg; template class basic_format_args; @@ -546,7 +546,7 @@ struct typed_value : value { }; template -FMT_CONSTEXPR basic_arg make_arg(const T &value); +FMT_CONSTEXPR basic_format_arg make_arg(const T &value); #define FMT_MAKE_VALUE(TAG, ArgType, ValueType) \ template \ @@ -641,7 +641,7 @@ inline typename std::enable_if< template typed_value make_value(const named_arg &val) { - basic_arg arg = make_arg(val.value); + basic_format_arg arg = make_arg(val.value); std::memcpy(val.data, &arg, sizeof(arg)); return static_cast(&val); } @@ -666,17 +666,18 @@ struct result_of { // A formatting argument. It is a trivially copyable/constructible type to // allow storage in basic_memory_buffer. template -class basic_arg { +class basic_format_arg { private: internal::value value_; internal::type type_; template - friend FMT_CONSTEXPR basic_arg internal::make_arg(const T &value); + friend FMT_CONSTEXPR basic_format_arg + internal::make_arg(const T &value); template friend FMT_CONSTEXPR typename internal::result_of::type - visit(Visitor &&vis, basic_arg arg); + visit(Visitor &&vis, basic_format_arg arg); friend class basic_format_args; friend class internal::arg_map; @@ -694,7 +695,7 @@ class basic_arg { internal::custom_value custom_; }; - FMT_CONSTEXPR basic_arg() : type_(internal::none_type) {} + FMT_CONSTEXPR basic_format_arg() : type_(internal::none_type) {} FMT_EXPLICIT operator bool() const FMT_NOEXCEPT { return type_ != internal::none_type; @@ -771,7 +772,7 @@ class arg_map { struct entry { basic_string_view name; - basic_arg arg; + basic_format_arg arg; }; entry *map_; @@ -788,13 +789,13 @@ class arg_map { void init(const basic_format_args &args); ~arg_map() { delete [] map_; } - basic_arg find(basic_string_view name) const { + basic_format_arg find(basic_string_view name) const { // The list is unsorted, so just return the first matching name. for (auto it = map_, end = map_ + size_; it != end; ++it) { if (it->name == name) return it->arg; } - return basic_arg(); + return basic_format_arg(); } }; @@ -810,7 +811,7 @@ class context_base { protected: typedef Char char_type; - typedef basic_arg format_arg; + typedef basic_format_arg format_arg; context_base(OutputIt out, basic_string_view format_str, basic_format_args args) @@ -932,8 +933,8 @@ FMT_CONSTEXPR uint64_t get_types() { } template -FMT_CONSTEXPR basic_arg make_arg(const T &value) { - basic_arg arg; +FMT_CONSTEXPR basic_format_arg make_arg(const T &value) { + basic_format_arg arg; arg.type_ = get_type::value; arg.value_ = make_value(value); return arg; @@ -946,7 +947,7 @@ inline typename std::enable_if>::type } template -inline typename std::enable_if>::type +inline typename std::enable_if>::type make_arg(const T &value) { return make_arg(value); } @@ -960,15 +961,15 @@ inline typename std::enable_if>::type \endrst */ template -class arg_store { +class format_arg_store { private: static const size_t NUM_ARGS = sizeof...(Args); // Packed is a macro on MinGW so use IS_PACKED instead. static const bool IS_PACKED = NUM_ARGS < internal::max_packed_args; - typedef typename std::conditional< - IS_PACKED, internal::value, basic_arg>::type value_type; + typedef typename std::conditional, basic_format_arg>::type value_type; // If the arguments are not packed, add one more element to mark the end. value_type data_[NUM_ARGS + (IS_PACKED && NUM_ARGS != 0 ? 0 : 1)]; @@ -980,11 +981,11 @@ class arg_store { #if FMT_GCC_VERSION && FMT_GCC_VERSION <= 405 // Workaround an array initialization bug in gcc 4.5 and earlier. - arg_store(const Args &... args) { + format_arg_store(const Args &... args) { data_ = {internal::make_arg(args)...}; } #else - arg_store(const Args &... args) + format_arg_store(const Args &... args) : data_{internal::make_arg(args)...} {} #endif @@ -992,25 +993,25 @@ class arg_store { }; template -const uint64_t arg_store::TYPES = IS_PACKED ? +const uint64_t format_arg_store::TYPES = IS_PACKED ? internal::get_types() : -static_cast(NUM_ARGS); /** \rst - Constructs an `~fmt::arg_store` object that contains references to arguments - and can be implicitly converted to `~fmt::format_args`. `Context` can be - omitted in which case it defaults to `~fmt::context`. + Constructs an `~fmt::format_arg_store` object that contains references to + arguments and can be implicitly converted to `~fmt::format_args`. `Context` can + be omitted in which case it defaults to `~fmt::context`. \endrst */ template -inline arg_store make_args(const Args & ... args) { - return arg_store(args...); +inline format_arg_store make_args(const Args & ... args) { + return format_arg_store(args...); } template -inline arg_store make_args(const Args & ... args) { - return arg_store(args...); +inline format_arg_store make_args(const Args & ... args) { + return format_arg_store(args...); } /** Formatting arguments. */ @@ -1018,7 +1019,7 @@ template class basic_format_args { public: typedef unsigned size_type; - typedef basic_arg format_arg; + typedef basic_format_arg format_arg; private: // To reduce compiled code size per formatting function call, types of first @@ -1068,11 +1069,11 @@ class basic_format_args { /** \rst - Constructs a `basic_format_args` object from `~fmt::arg_store`. + Constructs a `basic_format_args` object from `~fmt::format_arg_store`. \endrst */ template - basic_format_args(const arg_store &store) + basic_format_args(const format_arg_store &store) : types_(store.TYPES) { set_data(store.data_); } @@ -1107,14 +1108,14 @@ struct named_arg_base { basic_string_view name; // Serialized value. - mutable char data[sizeof(basic_arg)]; + mutable char data[sizeof(basic_format_arg)]; named_arg_base(basic_string_view nm) : name(nm) {} template - basic_arg deserialize() const { - basic_arg arg; - std::memcpy(&arg, data, sizeof(basic_arg)); + basic_format_arg deserialize() const { + basic_format_arg arg; + std::memcpy(&arg, data, sizeof(basic_format_arg)); return arg; } }; @@ -1212,12 +1213,12 @@ inline std::string format(string_view format_str, const Args & ... args) { // This should be just // return vformat(format_str, make_args(args...)); // but gcc has trouble optimizing the latter, so break it down. - arg_store as(args...); + format_arg_store as(args...); return vformat(format_str, as); } template inline std::wstring format(wstring_view format_str, const Args & ... args) { - arg_store as(args...); + format_arg_store as(args...); return vformat(format_str, as); } @@ -1234,7 +1235,7 @@ FMT_API void vprint(std::FILE *f, string_view format_str, format_args args); */ template inline void print(std::FILE *f, string_view format_str, const Args & ... args) { - arg_store as(args...); + format_arg_store as(args...); vprint(f, format_str, as); } @@ -1251,7 +1252,7 @@ FMT_API void vprint(string_view format_str, format_args args); */ template inline void print(string_view format_str, const Args & ... args) { - arg_store as(args...); + format_arg_store as(args...); vprint(format_str, as); } } // namespace fmt diff --git a/include/fmt/format.h b/include/fmt/format.h index 4bb8f15d..165c22ae 100644 --- a/include/fmt/format.h +++ b/include/fmt/format.h @@ -1068,7 +1068,7 @@ struct monostate {}; */ template FMT_CONSTEXPR typename internal::result_of::type - visit(Visitor &&vis, basic_arg arg) { + visit(Visitor &&vis, basic_format_arg arg) { typedef typename Context::char_type char_type; switch (arg.type_) { case internal::none_type: @@ -1100,7 +1100,7 @@ FMT_CONSTEXPR typename internal::result_of::type case internal::pointer_type: return vis(arg.value_.pointer); case internal::custom_type: - return vis(typename basic_arg::handle(arg.value_.custom)); + return vis(typename basic_format_arg::handle(arg.value_.custom)); } return vis(monostate()); } @@ -1560,7 +1560,7 @@ class custom_formatter: public function { public: explicit custom_formatter(Context &ctx): ctx_(ctx) {} - bool operator()(typename basic_arg::handle h) const { + bool operator()(typename basic_format_arg::handle h) const { h.format(ctx_); return true; } @@ -1726,7 +1726,7 @@ class specs_checker : public Handler { template