mirror of
https://github.com/fmtlib/fmt.git
synced 2025-11-30 06:09:48 +01:00
basic_parse_context -> basic_format_parse_context per standard and document
This commit is contained in:
@@ -448,10 +448,22 @@ struct error_handler {
|
||||
/** String's character type. */
|
||||
template <typename S> using char_t = typename internal::char_t_impl<S>::type;
|
||||
|
||||
// Parsing context consisting of a format string range being parsed and an
|
||||
// argument counter for automatic indexing.
|
||||
/**
|
||||
Parsing context consisting of a format string range being parsed and an
|
||||
argument counter for automatic indexing.
|
||||
|
||||
You can use one of the following type aliases for common character types:
|
||||
|
||||
+-----------------------+-------------------------------------+
|
||||
| Type | Definition |
|
||||
+=======================+=====================================+
|
||||
| format_parse_context | basic_format_parse_context<char> |
|
||||
+-----------------------+-------------------------------------+
|
||||
| wformat_parse_context | basic_format_parse_context<wchar_t> |
|
||||
+-----------------------+-------------------------------------+
|
||||
*/
|
||||
template <typename Char, typename ErrorHandler = internal::error_handler>
|
||||
class basic_parse_context : private ErrorHandler {
|
||||
class basic_format_parse_context : private ErrorHandler {
|
||||
private:
|
||||
basic_string_view<Char> format_str_;
|
||||
int next_arg_id_;
|
||||
@@ -460,8 +472,8 @@ class basic_parse_context : private ErrorHandler {
|
||||
using char_type = Char;
|
||||
using iterator = typename basic_string_view<Char>::iterator;
|
||||
|
||||
explicit FMT_CONSTEXPR basic_parse_context(basic_string_view<Char> format_str,
|
||||
ErrorHandler eh = ErrorHandler())
|
||||
explicit FMT_CONSTEXPR basic_format_parse_context(
|
||||
basic_string_view<Char> format_str, ErrorHandler eh = ErrorHandler())
|
||||
: ErrorHandler(eh), format_str_(format_str), next_arg_id_(0) {}
|
||||
|
||||
// Returns an iterator to the beginning of the format string range being
|
||||
@@ -503,11 +515,14 @@ class basic_parse_context : private ErrorHandler {
|
||||
FMT_CONSTEXPR ErrorHandler error_handler() const { return *this; }
|
||||
};
|
||||
|
||||
using format_parse_context = basic_parse_context<char>;
|
||||
using wformat_parse_context = basic_parse_context<wchar_t>;
|
||||
using format_parse_context = basic_format_parse_context<char>;
|
||||
using wformat_parse_context = basic_format_parse_context<wchar_t>;
|
||||
|
||||
using parse_context FMT_DEPRECATED_ALIAS = basic_parse_context<char>;
|
||||
using wparse_context FMT_DEPRECATED_ALIAS = basic_parse_context<wchar_t>;
|
||||
template <typename Char, typename ErrorHandler = internal::error_handler>
|
||||
using basic_parse_context FMT_DEPRECATED_ALIAS =
|
||||
basic_format_parse_context<Char, ErrorHandler>;
|
||||
using parse_context FMT_DEPRECATED_ALIAS = basic_format_parse_context<char>;
|
||||
using wparse_context FMT_DEPRECATED_ALIAS = basic_format_parse_context<wchar_t>;
|
||||
|
||||
template <typename Context> class basic_format_arg;
|
||||
template <typename Context> class basic_format_args;
|
||||
@@ -714,7 +729,7 @@ template <typename Char> struct string_value {
|
||||
};
|
||||
|
||||
template <typename Context> struct custom_value {
|
||||
using parse_context = basic_parse_context<typename Context::char_type>;
|
||||
using parse_context = basic_format_parse_context<typename Context::char_type>;
|
||||
const void* value;
|
||||
void (*format)(const void* arg, parse_context& parse_ctx, Context& ctx);
|
||||
};
|
||||
@@ -776,9 +791,9 @@ template <typename Context> class value {
|
||||
private:
|
||||
// Formats an argument of a custom type, such as a user-defined class.
|
||||
template <typename T, typename Formatter>
|
||||
static void format_custom_arg(const void* arg,
|
||||
basic_parse_context<char_type>& parse_ctx,
|
||||
Context& ctx) {
|
||||
static void format_custom_arg(
|
||||
const void* arg, basic_format_parse_context<char_type>& parse_ctx,
|
||||
Context& ctx) {
|
||||
Formatter f;
|
||||
parse_ctx.advance_to(f.parse(parse_ctx));
|
||||
ctx.advance_to(f.format(*static_cast<const T*>(arg), ctx));
|
||||
@@ -934,7 +949,8 @@ template <typename Context> class basic_format_arg {
|
||||
public:
|
||||
explicit handle(internal::custom_value<Context> custom) : custom_(custom) {}
|
||||
|
||||
void format(basic_parse_context<char_type>& parse_ctx, Context& ctx) const {
|
||||
void format(basic_format_parse_context<char_type>& parse_ctx,
|
||||
Context& ctx) const {
|
||||
custom_.format(custom_.value, parse_ctx, ctx);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user