GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing timsong-cpp.github.io — [format.syn] 28 Text processing library [text]28.5 Formatting [format]28.5.1 Header <format> synopsis [format.syn]namespace std {
// [format.context], class template basic_format_context
template<class Out, class charT> class basic_format_context;
using format_context = basic_format_context<unspecified, char>;
using wformat_context = basic_format_context<unspecified, wchar_t>;
// [format.args], class template basic_format_args
template<class Context> class basic_format_args;
using format_args = basic_format_args<format_context>;
using wformat_args = basic_format_args<wformat_context>;
// [format.fmt.string], class template basic_format_string
template<class charT, class... Args>
struct basic_format_string;
template<class charT> struct dynamic-format-string { // exposition only
private:
basic_string_view<charT> str; // exposition only
public:
constexpr dynamic-format-string(basic_string_view<charT> s) noexcept : str(s) {}
dynamic-format-string(const dynamic-format-string&) = delete;
dynamic-format-string& operator=(const dynamic-format-string&) = delete;
};
constexpr dynamic-format-string<char>
dynamic_format(string_view fmt) noexcept { return fmt; }
constexpr dynamic-format-string<wchar_t>
dynamic_format(wstring_view fmt) noexcept { return fmt; }
template<class... Args>
using format_string = basic_format_string<char, type_identity_t<Args>...>;
template<class... Args>
using wformat_string = basic_format_string<wchar_t, type_identity_t<Args>...>;
// [format.functions], formatting functions
template<class... Args>
constexpr string format(format_string<Args...> fmt, Args&&... args);
template<class... Args>
constexpr wstring format(wformat_string<Args...> fmt, Args&&... args);
template<class... Args>
string format(const locale& loc, format_string<Args...> fmt, Args&&... args);
template<class... Args>
wstring format(const locale& loc, wformat_string<Args...> fmt, Args&&... args);
constexpr string vformat(string_view fmt, format_args args);
constexpr wstring vformat(wstring_view fmt, wformat_args args);
string vformat(const locale& loc, string_view fmt, format_args args);
wstring vformat(const locale& loc, wstring_view fmt, wformat_args args);
template<class Out, class... Args>
constexpr Out format_to(Out out, format_string<Args...> fmt, Args&&... args);
template<class Out, class... Args>
constexpr Out format_to(Out out, wformat_string<Args...> fmt, Args&&... args);
template<class Out, class... Args>
Out format_to(Out out, const locale& loc, format_string<Args...> fmt, Args&&... args);
template<class Out, class... Args>
Out format_to(Out out, const locale& loc, wformat_string<Args...> fmt, Args&&... args);
template<class Out>
constexpr Out vformat_to(Out out, string_view fmt, format_args args);
template<class Out>
constexpr Out vformat_to(Out out, wstring_view fmt, wformat_args args);
template<class Out>
Out vformat_to(Out out, const locale& loc, string_view fmt, format_args args);
template<class Out>
Out vformat_to(Out out, const locale& loc, wstring_view fmt, wformat_args args);
template<class Out> struct format_to_n_result {
Out out;
iter_difference_t<Out> size;
};
template<class Out, class... Args>
constexpr format_to_n_result<Out> format_to_n(Out out, iter_difference_t<Out> n,
format_string<Args...> fmt,
Args&&... args);
template<class Out, class... Args>
constexpr format_to_n_result<Out> format_to_n(Out out, iter_difference_t<Out> n,
wformat_string<Args...> fmt,
Args&&... args);
template<class Out, class... Args>
format_to_n_result<Out> format_to_n(Out out, iter_difference_t<Out> n,
const locale& loc, format_string<Args...> fmt,
Args&&... args);
template<class Out, class... Args>
format_to_n_result<Out> format_to_n(Out out, iter_difference_t<Out> n,
const locale& loc, wformat_string<Args...> fmt,
Args&&... args);
template<class... Args>
constexpr size_t formatted_size(format_string<Args...> fmt, Args&&... args);
template<class... Args>
constexpr size_t formatted_size(wformat_string<Args...> fmt, Args&&... args);
template<class... Args>
size_t formatted_size(const locale& loc, format_string<Args...> fmt, Args&&... args);
template<class... Args>
size_t formatted_size(const locale& loc, wformat_string<Args...> fmt, Args&&... args);
// [format.formatter], formatter
template<class T, class charT = char> struct formatter;
// [format.formatter.locking], formatter locking
template<class T>
constexpr bool enable_nonlocking_formatter_optimization = false;
// [format.formattable], concept formattable
template<class T, class charT>
concept formattable = see below;
template<class R, class charT>
concept const-formattable-range = // exposition only
ranges::input_range<const R> &&
formattable<ranges::range_reference_t<const R>, charT>;
template<class R, class charT>
using fmt-maybe-const = // exposition only
conditional_t<const-formattable-range<R, charT>, const R, R>;
// [format.parse.ctx], class template basic_format_parse_context
template<class charT> class basic_format_parse_context;
using format_parse_context = basic_format_parse_context<char>;
using wformat_parse_context = basic_format_parse_context<wchar_t>;
// [format.range], formatting of ranges
// [format.range.fmtkind], variable template format_kind
enum class range_format {
disabled,
map,
set,
sequence,
string,
debug_string
};
template<class R>
constexpr unspecified format_kind = unspecified;
template<ranges::input_range R>
requires same_as<R, remove_cvref_t<R>>
constexpr range_format format_kind<R> = see below;
// [format.range.formatter], class template range_formatter
template<class T, class charT = char>
requires same_as<remove_cvref_t<T>, T> && formattable<T, charT>
class range_formatter;
// [format.range.fmtdef], class template range-default-formatter
template<range_format K, ranges::input_range R, class charT>
struct range-default-formatter; // exposition only
// [format.range.fmtmap], [format.range.fmtset], [format.range.fmtstr], specializations for maps, sets, and strings
template<ranges::input_range R, class charT>
requires (format_kind<R> != range_format::disabled) &&
formattable<ranges::range_reference_t<R>, charT>
struct formatter<R, charT> : range-default-formatter<format_kind<R>, R, charT> { };
template<ranges::input_range R>
requires (format_kind<R> != range_format::disabled)
constexpr bool enable_nonlocking_formatter_optimization<R> = false;
// [format.arguments], arguments
// [format.arg], class template basic_format_arg
template<class Context> class basic_format_arg;
// [format.arg.store], class template format-arg-store
template<class Context, class... Args> class format-arg-store; // exposition only
template<class Context = format_context, class... Args>
constexpr format-arg-store<Context, Args...>
make_format_args(Args&... fmt_args);
template<class... Args>
constexpr format-arg-store<wformat_context, Args...>
make_wformat_args(Args&... args);
// [format.error], class format_error
class format_error;
}
|
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |