mirror of
https://github.com/fmtlib/fmt.git
synced 2024-12-26 09:28:21 +00:00
Get rid of FMT_VARIADIC_CTOR
This commit is contained in:
parent
0d8aca8de3
commit
ea28a63706
22
fmt/format.h
22
fmt/format.h
@ -2181,14 +2181,6 @@ class BasicFormatter : private internal::FormatterBase {
|
|||||||
# define FMT_ASSIGN_wchar_t(n) \
|
# define FMT_ASSIGN_wchar_t(n) \
|
||||||
arr[n] = fmt::internal::MakeValue< fmt::BasicFormatter<wchar_t> >(v##n)
|
arr[n] = fmt::internal::MakeValue< fmt::BasicFormatter<wchar_t> >(v##n)
|
||||||
|
|
||||||
// Defines a variadic constructor.
|
|
||||||
# define FMT_VARIADIC_CTOR(ctor, func, arg0_type, arg1_type) \
|
|
||||||
template <typename... Args> \
|
|
||||||
ctor(arg0_type arg0, arg1_type arg1, const Args & ... args) { \
|
|
||||||
auto store = fmt::make_format_args< fmt::BasicFormatter<Char> >(args...); \
|
|
||||||
func(arg0, arg1, fmt::format_args(store)); \
|
|
||||||
}
|
|
||||||
|
|
||||||
// Generates a comma-separated list with results of applying f to pairs
|
// Generates a comma-separated list with results of applying f to pairs
|
||||||
// (argument, index).
|
// (argument, index).
|
||||||
#define FMT_FOR_EACH1(f, x0) f(x0, 0)
|
#define FMT_FOR_EACH1(f, x0) f(x0, 0)
|
||||||
@ -2222,8 +2214,6 @@ class SystemError : public internal::RuntimeError {
|
|||||||
protected:
|
protected:
|
||||||
int error_code_;
|
int error_code_;
|
||||||
|
|
||||||
typedef char Char; // For FMT_VARIADIC_CTOR.
|
|
||||||
|
|
||||||
SystemError() {}
|
SystemError() {}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -2245,10 +2235,10 @@ class SystemError : public internal::RuntimeError {
|
|||||||
throw fmt::SystemError(errno, "cannot open file '{}'", filename);
|
throw fmt::SystemError(errno, "cannot open file '{}'", filename);
|
||||||
\endrst
|
\endrst
|
||||||
*/
|
*/
|
||||||
SystemError(int error_code, CStringRef message) {
|
template <typename... Args>
|
||||||
init(error_code, message, format_args());
|
SystemError(int error_code, CStringRef message, const Args & ... args) {
|
||||||
|
init(error_code, message, make_format_args<BasicFormatter<char>>(args...));
|
||||||
}
|
}
|
||||||
FMT_VARIADIC_CTOR(SystemError, init, int, CStringRef)
|
|
||||||
|
|
||||||
~SystemError() throw();
|
~SystemError() throw();
|
||||||
|
|
||||||
@ -3098,10 +3088,10 @@ class WindowsError : public SystemError {
|
|||||||
}
|
}
|
||||||
\endrst
|
\endrst
|
||||||
*/
|
*/
|
||||||
WindowsError(int error_code, CStringRef message) {
|
template <typename... Args>
|
||||||
init(error_code, message, format_args());
|
WindowsError(int error_code, CStringRef message, const Args & ... args) {
|
||||||
|
init(error_code, message, make_format_args<BasicFormatter<char>>(args...));
|
||||||
}
|
}
|
||||||
FMT_VARIADIC_CTOR(WindowsError, init, int, CStringRef)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Reports a Windows error without throwing an exception.
|
// Reports a Windows error without throwing an exception.
|
||||||
|
Loading…
Reference in New Issue
Block a user