typedef -> using
diff --git a/include/fmt/chrono.h b/include/fmt/chrono.h
index a71638e..f19a5e9 100644
--- a/include/fmt/chrono.h
+++ b/include/fmt/chrono.h
@@ -506,12 +506,12 @@
conditional_t<std::is_integral<Rep>::value && sizeof(Rep) < sizeof(int),
unsigned, typename make_unsigned_or_unchanged<Rep>::type>;
rep val;
- typedef std::chrono::duration<rep> seconds;
+ using seconds = std::chrono::duration<rep>;
seconds s;
- typedef std::chrono::duration<rep, std::milli> milliseconds;
+ using milliseconds = std::chrono::duration<rep, std::milli>;
bool negative;
- typedef typename FormatContext::char_type char_type;
+ using char_type = typename FormatContext::char_type;
explicit chrono_formatter(FormatContext& ctx, OutputIt o,
std::chrono::duration<Rep, Period> d)
@@ -717,11 +717,11 @@
private:
basic_format_specs<Char> specs;
int precision;
- typedef internal::arg_ref<Char> arg_ref_type;
+ using arg_ref_type = internal::arg_ref<Char>;
arg_ref_type width_ref;
arg_ref_type precision_ref;
mutable basic_string_view<Char> format_str;
- typedef std::chrono::duration<Rep, Period> duration;
+ using duration = std::chrono::duration<Rep, Period>;
struct spec_handler {
formatter& f;
@@ -759,7 +759,7 @@
}
};
- typedef typename basic_parse_context<Char>::iterator iterator;
+ using iterator = typename basic_parse_context<Char>::iterator;
struct parse_range {
iterator begin;
iterator end;
diff --git a/include/fmt/format-inl.h b/include/fmt/format-inl.h
index 0b46313..f6fa29a 100644
--- a/include/fmt/format-inl.h
+++ b/include/fmt/format-inl.h
@@ -78,7 +78,7 @@
# define FMT_SNPRINTF fmt_snprintf
#endif // _MSC_VER
-typedef void (*FormatFunc)(internal::buffer<char>&, int, string_view);
+using format_func = void (*)(internal::buffer<char>&, int, string_view);
// Portable thread-safe version of strerror.
// Sets buffer to point to a string describing the error code.
@@ -182,7 +182,7 @@
}
}
-FMT_FUNC void report_error(FormatFunc func, int error_code,
+FMT_FUNC void report_error(format_func func, int error_code,
string_view message) FMT_NOEXCEPT {
memory_buffer full_message;
func(full_message, error_code, message);
@@ -355,7 +355,7 @@
// A handmade floating-point number f * pow(2, e).
class fp {
private:
- typedef uint64_t significand_type;
+ using significand_type = uint64_t;
// All sizes are in bits.
// Subtract 1 to account for an implicit most significant bit in the
@@ -379,7 +379,7 @@
// errors on platforms where double is not IEEE754.
template <typename Double> explicit fp(Double d) {
// Assume double is in the format [sign][exponent][significand].
- typedef std::numeric_limits<Double> limits;
+ using limits = std::numeric_limits<Double>;
const int exponent_size =
bits<Double>::value - double_significand_size - 1; // -1 for sign
const uint64_t significand_mask = implicit_bit - 1;
diff --git a/include/fmt/posix.h b/include/fmt/posix.h
index e5394f4..9876ce9 100644
--- a/include/fmt/posix.h
+++ b/include/fmt/posix.h
@@ -69,7 +69,7 @@
A reference to a null-terminated string. It can be constructed from a C
string or ``std::string``.
- You can use one of the following typedefs for common character types:
+ You can use one of the following type aliases for common character types:
+---------------+-----------------------------+
| Type | Definition |
@@ -108,8 +108,8 @@
const Char* c_str() const { return data_; }
};
-typedef basic_cstring_view<char> cstring_view;
-typedef basic_cstring_view<wchar_t> wcstring_view;
+using cstring_view = basic_cstring_view<char>;
+using wcstring_view = basic_cstring_view<wchar_t>;
// An error code.
class error_code {
@@ -266,7 +266,7 @@
class Locale {
private:
# ifdef _MSC_VER
- typedef _locale_t locale_t;
+ using locale_t = _locale_t;
enum { LC_NUMERIC_MASK = LC_NUMERIC };
@@ -287,14 +287,14 @@
void operator=(const Locale&) = delete;
public:
- typedef locale_t Type;
+ using type = locale_t;
Locale() : locale_(newlocale(LC_NUMERIC_MASK, "C", nullptr)) {
if (!locale_) FMT_THROW(system_error(errno, "cannot create locale"));
}
~Locale() { freelocale(locale_); }
- Type get() const { return locale_; }
+ type get() const { return locale_; }
// Converts string to floating-point number and advances str past the end
// of the parsed input.
diff --git a/include/fmt/printf.h b/include/fmt/printf.h
index 77c2ee8..267724a 100644
--- a/include/fmt/printf.h
+++ b/include/fmt/printf.h
@@ -70,17 +70,17 @@
template <typename T> struct make_unsigned_or_bool : std::make_unsigned<T> {};
-template <> struct make_unsigned_or_bool<bool> { typedef bool type; };
+template <> struct make_unsigned_or_bool<bool> { using type = bool; };
template <typename T, typename Context> class arg_converter {
private:
- typedef typename Context::char_type Char;
+ using char_type = typename Context::char_type;
basic_format_arg<Context>& arg_;
- typename Context::char_type type_;
+ char_type type_;
public:
- arg_converter(basic_format_arg<Context>& arg, Char type)
+ arg_converter(basic_format_arg<Context>& arg, char_type type)
: arg_(arg), type_(type) {}
void operator()(bool value) {
@@ -97,9 +97,9 @@
arg_ = internal::make_arg<Context>(
static_cast<int>(static_cast<target_type>(value)));
} else {
- typedef typename make_unsigned_or_bool<target_type>::type Unsigned;
+ using unsigned_type = typename make_unsigned_or_bool<target_type>::type;
arg_ = internal::make_arg<Context>(
- static_cast<unsigned>(static_cast<Unsigned>(value)));
+ static_cast<unsigned>(static_cast<unsigned_type>(value)));
}
} else {
if (is_signed) {
@@ -137,8 +137,8 @@
template <typename T, FMT_ENABLE_IF(std::is_integral<T>::value)>
void operator()(T value) {
- typedef typename Context::char_type Char;
- arg_ = internal::make_arg<Context>(static_cast<Char>(value));
+ arg_ = internal::make_arg<Context>(
+ static_cast<typename Context::char_type>(value));
}
template <typename T, FMT_ENABLE_IF(!std::is_integral<T>::value)>
@@ -149,7 +149,7 @@
// left alignment if it is negative.
template <typename Char> class printf_width_handler {
private:
- typedef basic_format_specs<Char> format_specs;
+ using format_specs = basic_format_specs<Char>;
format_specs& specs_;
@@ -203,12 +203,12 @@
template <typename Range>
class printf_arg_formatter : public internal::arg_formatter_base<Range> {
public:
- typedef decltype(std::declval<Range>().begin()) iterator;
+ using iterator = typename Range::iterator;
private:
- typedef typename Range::value_type char_type;
- typedef internal::arg_formatter_base<Range> base;
- typedef basic_printf_context<iterator, char_type> context_type;
+ using char_type = typename Range::value_type;
+ using base = internal::arg_formatter_base<Range>;
+ using context_type = basic_printf_context<iterator, char_type>;
context_type& context_;
@@ -223,7 +223,7 @@
}
public:
- typedef typename base::format_specs format_specs;
+ using format_specs = typename base::format_specs;
/**
\rst
@@ -328,7 +328,7 @@
template <typename T> using formatter_type = printf_formatter<T>;
private:
- typedef basic_format_specs<char_type> format_specs;
+ using format_specs = basic_format_specs<char_type>;
OutputIt out_;
basic_format_args<basic_printf_context> args_;
@@ -563,17 +563,15 @@
return std::copy(start, it, out);
}
-template <typename Buffer> struct basic_printf_context_t {
- typedef basic_printf_context<std::back_insert_iterator<Buffer>,
- typename Buffer::value_type>
- type;
-};
+template <typename Char> using basic_printf_context_t =
+ basic_printf_context<std::back_insert_iterator<internal::buffer<Char>>,
+ Char>;
-typedef basic_printf_context_t<internal::buffer<char>>::type printf_context;
-typedef basic_printf_context_t<internal::buffer<wchar_t>>::type wprintf_context;
+using printf_context = basic_printf_context_t<char>;
+using wprintf_context = basic_printf_context_t<wchar_t>;
-typedef basic_format_args<printf_context> printf_args;
-typedef basic_format_args<wprintf_context> wprintf_args;
+using printf_args = basic_format_args<printf_context>;
+using wprintf_args = basic_format_args<wprintf_context>;
/**
\rst
@@ -602,9 +600,7 @@
template <typename S, typename Char = char_t<S>>
inline std::basic_string<Char> vsprintf(
const S& format,
- basic_format_args<
- typename basic_printf_context_t<internal::buffer<Char>>::type>
- args) {
+ basic_format_args<basic_printf_context_t<Char>> args) {
basic_memory_buffer<Char> buffer;
printf(buffer, to_string_view(format), args);
return to_string(buffer);
@@ -622,17 +618,14 @@
template <typename S, typename... Args,
typename Char = enable_if_t<internal::is_string<S>::value, char_t<S>>>
inline std::basic_string<Char> sprintf(const S& format, const Args&... args) {
- using context = typename basic_printf_context_t<internal::buffer<Char>>::type;
- format_arg_store<context, Args...> as{args...};
- return vsprintf(to_string_view(format), basic_format_args<context>(as));
+ using context = basic_printf_context_t<Char>;
+ return vsprintf(to_string_view(format), {make_format_args<context>(args...)});
}
template <typename S, typename Char = char_t<S>>
inline int vfprintf(
std::FILE* f, const S& format,
- basic_format_args<
- typename basic_printf_context_t<internal::buffer<Char>>::type>
- args) {
+ basic_format_args<basic_printf_context_t<Char>> args) {
basic_memory_buffer<Char> buffer;
printf(buffer, to_string_view(format), args);
std::size_t size = buffer.size();
@@ -653,17 +646,15 @@
template <typename S, typename... Args,
typename Char = enable_if_t<internal::is_string<S>::value, char_t<S>>>
inline int fprintf(std::FILE* f, const S& format, const Args&... args) {
- using context = typename basic_printf_context_t<internal::buffer<Char>>::type;
- format_arg_store<context, Args...> as{args...};
- return vfprintf(f, to_string_view(format), basic_format_args<context>(as));
+ using context = basic_printf_context_t<Char>;
+ return vfprintf(f, to_string_view(format),
+ {make_format_args<context>(args...)});
}
template <typename S, typename Char = char_t<S>>
inline int vprintf(
const S& format,
- basic_format_args<
- typename basic_printf_context_t<internal::buffer<Char>>::type>
- args) {
+ basic_format_args<basic_printf_context_t<Char>> args) {
return vfprintf(stdout, to_string_view(format), args);
}
@@ -679,18 +670,15 @@
template <typename S, typename... Args,
FMT_ENABLE_IF(internal::is_string<S>::value)>
inline int printf(const S& format_str, const Args&... args) {
- using buffer = internal::buffer<char_t<S>>;
- using context = typename basic_printf_context_t<buffer>::type;
- format_arg_store<context, Args...> as{args...};
- return vprintf(to_string_view(format_str), basic_format_args<context>(as));
+ using context = basic_printf_context_t<char_t<S>>;
+ return vprintf(to_string_view(format_str),
+ {make_format_args<context>(args...)});
}
template <typename S, typename Char = char_t<S>>
inline int vfprintf(
std::basic_ostream<Char>& os, const S& format,
- basic_format_args<
- typename basic_printf_context_t<internal::buffer<Char>>::type>
- args) {
+ basic_format_args<basic_printf_context_t<Char>> args) {
basic_memory_buffer<Char> buffer;
printf(buffer, to_string_view(format), args);
internal::write(os, buffer);
@@ -721,10 +709,9 @@
template <typename S, typename... Args, typename Char = char_t<S>>
inline int fprintf(std::basic_ostream<Char>& os, const S& format_str,
const Args&... args) {
- using context = typename basic_printf_context_t<internal::buffer<Char>>::type;
- format_arg_store<context, Args...> as{args...};
+ using context = basic_printf_context_t<Char>;
return vfprintf(os, to_string_view(format_str),
- basic_format_args<context>(as));
+ {make_format_args<context>(args...)});
}
FMT_END_NAMESPACE
diff --git a/include/fmt/ranges.h b/include/fmt/ranges.h
index 9128f25..e654010 100644
--- a/include/fmt/ranges.h
+++ b/include/fmt/ranges.h
@@ -124,7 +124,7 @@
using make_index_sequence = std::make_index_sequence<N>;
#else
template <typename T, T... N> struct integer_sequence {
- typedef T value_type;
+ using value_type = T;
static FMT_CONSTEXPR std::size_t size() { return sizeof...(N); }
};
diff --git a/test/posix-mock-test.cc b/test/posix-mock-test.cc
index 1cee9fd..58e015a 100644
--- a/test/posix-mock-test.cc
+++ b/test/posix-mock-test.cc
@@ -446,7 +446,7 @@
#ifdef FMT_LOCALE
-typedef fmt::Locale::Type LocaleType;
+typedef fmt::Locale::type LocaleType;
struct LocaleMock {
static LocaleMock* instance;
diff --git a/test/printf-test.cc b/test/printf-test.cc
index e252891..aa25a59 100644
--- a/test/printf-test.cc
+++ b/test/printf-test.cc
@@ -535,11 +535,11 @@
fmt::basic_format_args<fmt::printf_context> args2(as2);
EXPECT_EQ("[42] something happened",
fmt::vsprintf("[%d] %s happened", args2));
- // the older gcc versions can't cast the return value
+ // The older gcc versions can't cast the return value.
#if !defined(__GNUC__) || (__GNUC__ > 4)
EXPECT_EQ("[42] something happened",
fmt::vsprintf("[%d] %s happened",
- fmt::make_printf_args(42, "something")));
+ {fmt::make_printf_args(42, "something")}));
#endif
}
@@ -557,7 +557,7 @@
#if !defined(__GNUC__) || (__GNUC__ > 4)
EXPECT_EQ(L"[42] something happened",
fmt::vsprintf(L"[%d] %s happened",
- fmt::make_wprintf_args(42, L"something")));
+ {fmt::make_wprintf_args(42, L"something")}));
#endif
}
@@ -601,7 +601,7 @@
template <typename... Args>
std::string custom_format(const char* format_str, const Args&... args) {
auto va = fmt::make_printf_args(args...);
- return custom_vformat(format_str, va);
+ return custom_vformat(format_str, {va});
}
TEST(PrintfTest, CustomFormat) {