Archivo de encabezado de la biblioteca estándar <format>
De cppreference.com
Este archivo de encabezado es parte de la biblioteca de formato.
Clases | ||
(C++20) | Plantilla de clase que define las reglas de formato para un tipo dado. (plantilla de clase) | |
(C++20)(C++20)(C++20) | Estado de formato del analizador de cadena. (plantilla de clase) | |
(C++20)(C++20)(C++20) | Estado de formato, incluyendo todos los argumentos de formato y el iterador de salida. (plantilla de clase) | |
(C++20) | Plantilla de clase que proporciona acceso a un argumento de formato para formateadores definidos por el usuario. (plantilla de clase) | |
(C++20)(C++20)(C++20)(C++20) | Clase que proporciona acceso a todos los argumentos de formato. (plantilla de clase) | |
(C++20) | Tipo de excepción lanzada cuando ocurren errores de formato. (clase) | |
Funciones | ||
(C++20) | Almacena una representación formateada de los argumentos en una cadena nueva. (plantilla de función) | |
(C++20) | Escribe una representación formateada de sus argumentos mediante un iterador de salida. (plantilla de función) | |
(C++20) | Escribe una representación formateada de sus argumentos mediante un iterador de salida, no excediendo un tamaño específico. (plantilla de función) | |
(C++20) | Determina el número de caracteres necesario para almacenar la representación formateada de sus argumentos. (plantilla de función) | |
(C++20) | Variante de no plantilla de std::format utilizando una representación de argumento de tipo borrado. (función) | |
(C++20) | Variante de no plantilla de std::format_to utilizando una representación de argumento de tipo borrado. (plantilla de función) | |
(C++20) | Interfaz de visitación de argumento para formateadores definidos por el usuario. (plantilla de función) | |
(C++20)(C++20) | Crea un objeto de tipo borrado haciendo referencia a todos los argumentos de formato, convertible a format_args (plantilla de función) |
[editar]Sinopsis
namespace std {// funciones de formatotemplate<class... Args> string format(string_view fmt, const Args&... args);template<class... Args> wstring format(wstring_view fmt, const Args&... args);template<class... Args> string format(const locale& loc, string_view fmt, const Args&... args);template<class... Args> wstring format(const locale& loc, wstring_view fmt, const Args&... args); string vformat(string_view fmt, format_args args); 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> Out format_to(Out out, string_view fmt, const Args&... args);template<class Out, class... Args> Out format_to(Out out, wstring_view fmt, const Args&... args);template<class Out, class... Args> Out format_to(Out out, const locale& loc, string_view fmt, const Args&... args);template<class Out, class... Args> Out format_to(Out out, const locale& loc, wstring_view fmt, const Args&... args); template<class Out> Out vformat_to(Out out, string_view fmt, format_args_t<type_identity_t<Out>, char> args);template<class Out> Out vformat_to(Out out, wstring_view fmt, format_args_t<type_identity_t<Out>, wchar_t> args);template<class Out> Out vformat_to(Out out, const locale& loc, string_view fmt, format_args_t<type_identity_t<Out>, char> args);template<class Out> Out vformat_to(Out out, const locale& loc, wstring_view fmt, format_args_t<type_identity_t<Out>, wchar_t> args); template<class Out>struct format_to_n_result { Out out; iter_difference_t<Out> size;};template<class Out, class... Args> format_to_n_result<Out> format_to_n(Out out, iter_difference_t<Out> n, string_view fmt, const Args&... args);template<class Out, class... Args> format_to_n_result<Out> format_to_n(Out out, iter_difference_t<Out> n, wstring_view fmt, const 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, string_view fmt, const 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, wstring_view fmt, const Args&... args); template<class... Args> size_t formatted_size(string_view fmt, const Args&... args);template<class... Args> size_t formatted_size(wstring_view fmt, const Args&... args);template<class... Args> size_t formatted_size(const locale& loc, string_view fmt, const Args&... args);template<class... Args> size_t formatted_size(const locale& loc, wstring_view fmt, const Args&... args); // formateadortemplate<class T, class charT =char>struct formatter; // plantilla de clase basic_format_parse_contexttemplate<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>; 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>; // argumentos// plantilla de clase basic_format_argtemplate<class Context>class basic_format_arg; template<class Visitor, class Context>/* véase descripción */ visit_format_arg(Visitor&& vis, basic_format_arg<Context> arg); // plantilla de clase format-arg-storetemplate<class Context, class... Args>struct/*format-arg-store*/;// solo exposición template<class Context = format_context, class... Args>/*format-arg-store*/<Context, Args...> make_format_args(const Args&... args);template<class... Args>/*format-arg-store*/<wformat_context, Args...> make_wformat_args(const Args&... args); // plantilla de clase basic_format_argstemplate<class Context>class basic_format_args;using format_args = basic_format_args<format_context>;using wformat_args = basic_format_args<wformat_context>; template<class Out, class charT>using format_args_t = basic_format_args<basic_format_context<Out, charT>>; // clase format_errorclass format_error;}
[editar]Plantilla de clase std::basic_format_parse_context
namespace std {template<class charT>class basic_format_parse_context {public:using char_type = charT;using const_iterator =typename basic_string_view<charT>::const_iterator;using iterator = const_iterator; private: iterator begin_;// solo exposición iterator end_;// solo exposiciónenum indexing { unknown, manual, automatic };// solo exposición indexing indexing_;// solo exposición size_t next_arg_id_;// solo exposición size_t num_args_;// solo exposición public:constexprexplicit basic_format_parse_context(basic_string_view<charT> fmt, size_t num_args =0)noexcept; basic_format_parse_context(const basic_format_parse_context&)= delete; basic_format_parse_context& operator=(const basic_format_parse_context&)= delete; constexpr const_iterator begin()constnoexcept;constexpr const_iterator end()constnoexcept;constexprvoid advance_to(const_iterator it); constexpr size_t next_arg_id();constexprvoid check_arg_id(size_t id);};}
[editar]Plantilla de clase std::basic_format_context
namespace std {template<class Out, class charT>class basic_format_context { basic_format_args<basic_format_context> args_;// solo exposición Out out_;// solo exposición public:using iterator = Out;using char_type = charT;template<class T>using formatter_type = formatter<T, charT>; basic_format_arg<basic_format_context> arg(size_t id)const;std::locale locale(); iterator out();void advance_to(iterator it);};}
[editar]Plantilla de clase std::basic_format_arg
namespace std {template<class Context>class basic_format_arg {public:class handle; private:using char_type =typename Context::char_type;// solo exposición variant<monostate, bool, char_type, int, unsignedint, longlongint, unsignedlonglongint, float, double, longdouble, const char_type*, basic_string_view<char_type>, constvoid*, handle> value;// solo exposición template<class T>explicit basic_format_arg(const T& v)noexcept;// solo exposiciónexplicit basic_format_arg(float n)noexcept;// solo exposiciónexplicit basic_format_arg(double n)noexcept;// solo exposiciónexplicit basic_format_arg(longdouble n)noexcept;// solo exposiciónexplicit basic_format_arg(const char_type* s);// solo exposición template<class traits>explicit basic_format_arg( basic_string_view<char_type, traits> s)noexcept;// solo exposición template<class traits, class Allocator>explicit basic_format_arg(const basic_string<char_type, traits, Allocator>& s)noexcept;// solo exposición explicit basic_format_arg(nullptr_t)noexcept;// solo exposición template<class T>explicit basic_format_arg(const T* p)noexcept;// solo exposición public: basic_format_arg()noexcept; explicit operator bool()constnoexcept;};}
[editar]Clase std::basic_format_arg::handle
namespace std {template<class Context>class basic_format_arg<Context>::handle{constvoid* ptr_;// solo exposiciónvoid(*format_)(basic_format_parse_context<char_type>&, Context&, constvoid*);// solo exposición template<class T>explicit handle(const T& val)noexcept;// solo exposición friendclass basic_format_arg<Context>;// solo exposición public:void format(basic_format_parse_context<char_type>&, Context& ctx)const;};}
[editar]Plantilla de clase format-arg-store
namespace std {template<class Context, class... Args>struct/*format-arg-store*/{// solo exposición array<basic_format_arg<Context>, sizeof...(Args)> args;};}
[editar]Plantilla de clase std::basic_format_args
namespace std {template<class Context>class basic_format_args { size_t size_;// solo exposiciónconst basic_format_arg<Context>* data_;// solo exposición public: basic_format_args()noexcept; template<class... Args> basic_format_args(const/*format-arg-store*/<Context, Args...>& store)noexcept; basic_format_arg<Context> get(size_t i)constnoexcept;};}
[editar]Clase std::format_error
namespace std {class format_error :public runtime_error {public:explicit format_error(const string& what_arg);explicit format_error(constchar* what_arg);};}