As with parent commit, begin and end are commonly member functions, not
member variables. To fit in with the style of the project, `first` and
`last` have been used as an alternative within the `arg_join` struct.
`begin()` and `end()` member functions have been added to the struct,
and the calling code modified; thus increasing consistency with
surrounding code.
begin and end are commonly used (within and outside the standard) for
member functions. Due to the naming convensions of this project, common
internal names such as `begin_` and `m_begin` are unfavourable for
structs. This the alternative names `first` and `last` which are common
for the interface of standard algorithms, have been chosen.
`begin()` and `end()` member functions have been added to those
structs, and the calling code modified; thus increasing consistency with
surrounding code.
Commit 3bc28fcc6b ("Squelch MSVC warning exporting subclasses of
runtime_error", 2019-11-29) silenced a MSVC warning under. The MinGW
compiler also defines _WIN32, but does not support the "warning" pragma.
Introduce a helper macro to squelch the MSVC warning only when using the
Microsoft compiler.
Signed-off-by: Beat Bolli <dev@drbeat.li>
When compiling {fmt} as a DLL, MSVC complains that we are exporting
classes that inherit from "std::runtime_error", which we are not
exporting.
In this case, it's not really a problem because that symbol is already
exported via the C++ stdlib. So we just add a pragma to silence the
warning.