Lines Matching refs:specs_
2129 format_specs* specs_;
2183 out_ = write_ptr<char_type>(out_, to_uintptr(p), specs_);
2195 formatter.write_int(static_cast<int>(value), *formatter.specs_);
2198 if (formatter.specs_)
2199 formatter.out_ = write_char(formatter.out_, value, *formatter.specs_);
2218 format_specs* specs() { return specs_; }
2221 if (specs_)
2222 write(string_view(value ? "true" : "false"), *specs_);
2233 specs_ ? write(sv, *specs_) : write(sv);
2239 : out_(out), locale_(loc), specs_(s) {}
2248 if (specs_)
2249 write_int(value, *specs_);
2256 handle_char_specs(specs_,
2262 if (specs_ && specs_->type) return (*this)(value ? 1 : 0);
2269 auto specs = specs_ ? *specs_ : format_specs();
2278 if (!specs_) return write(value), out_;
2279 handle_cstring_type_spec(specs_->type, cstring_spec_handler(*this, value));
2284 if (specs_) {
2285 check_string_type_spec(specs_->type, error_handler());
2286 write(value, *specs_);
2294 if (specs_) check_pointer_type_spec(specs_->type, error_handler());
2438 : specs_(specs) {}
2441 : specs_(other.specs_) {}
2443 FMT_CONSTEXPR void on_align(align_t align) { specs_.align = align; }
2445 specs_.fill = fill;
2447 FMT_CONSTEXPR void on_plus() { specs_.sign = sign::plus; }
2448 FMT_CONSTEXPR void on_minus() { specs_.sign = sign::minus; }
2449 FMT_CONSTEXPR void on_space() { specs_.sign = sign::space; }
2450 FMT_CONSTEXPR void on_hash() { specs_.alt = true; }
2453 specs_.align = align::numeric;
2454 specs_.fill[0] = Char('0');
2457 FMT_CONSTEXPR void on_width(int width) { specs_.width = width; }
2459 specs_.precision = precision;
2464 specs_.type = static_cast<char>(type);
2468 basic_format_specs<Char>& specs_;
2578 this->specs_.width = get_dynamic_spec<width_checker>(
2583 this->specs_.precision = get_dynamic_spec<precision_checker>(
2657 : specs_setter<char_type>(specs), specs_(specs), context_(ctx) {}
2661 specs_(other.specs_),
2665 specs_.width_ref = make_arg_ref(arg_id);
2669 specs_.precision_ref = make_arg_ref(arg_id);
2695 dynamic_format_specs<char_type>& specs_;
3407 detail::specs_checker<handler_type> handler(handler_type(specs_, ctx),
3422 handle_int_type_spec(specs_.type,
3427 &specs_, detail::char_specs_checker<decltype(eh)>(specs_.type, eh));
3431 detail::parse_float_type_spec(specs_, eh);
3437 detail::parse_float_type_spec(specs_, eh);
3443 detail::parse_float_type_spec(specs_, eh);
3449 specs_.type, detail::cstring_type_checker<decltype(eh)>(eh));
3452 detail::check_string_type_spec(specs_.type, eh);
3455 detail::check_pointer_type_spec(specs_.type, eh);
3467 detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
3468 specs_.width_ref, ctx);
3470 specs_.precision, specs_.precision_ref, ctx);
3473 return visit_format_arg(af(ctx, nullptr, &specs_),
3478 detail::dynamic_format_specs<Char> specs_;
3544 detail::dynamic_specs_handler<ParseContext> handler(specs_, ctx);
3553 checker.on_align(specs_.align);
3554 switch (specs_.sign) {
3567 if (specs_.alt) checker.on_hash();
3568 if (specs_.precision >= 0) checker.end_precision();
3571 visit_format_arg(af(ctx, nullptr, &specs_),
3578 detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
3579 specs_.width_ref, ctx);
3581 specs_.precision, specs_.precision_ref, ctx);
3584 detail::dynamic_format_specs<Char> specs_;
3622 detail::dynamic_format_specs<char> specs_;
3628 detail::specs_checker<handler_type> handler(handler_type(specs_, ctx),
3631 detail::check_string_type_spec(specs_.type, ctx.error_handler());
3637 detail::handle_dynamic_spec<detail::width_checker>(specs_.width,
3638 specs_.width_ref, ctx);
3640 specs_.precision, specs_.precision_ref, ctx);
3641 return detail::write_bytes(ctx.out(), b.data_, specs_);