diff --git a/doc/Text Formatting.html b/doc/Text Formatting.html
index e8feaa88..0d0027d4 100644
--- a/doc/Text Formatting.html
+++ b/doc/Text Formatting.html
@@ -64,6 +64,7 @@ Victor Zverovich, victor.zverovich@gmail.com
Format String Syntax
Extensibility
Locale Support
+ Positional Arguments
Wording
References
'{'
and
+and Rust [5]. This syntax employs '{'
and
'}'
as replacement field delimiters instead of '%'
and it is described in details in TODO:link. Here are some of the advantages:
@@ -149,6 +150,8 @@ and the new syntax is given in the following table.
printf
. Notable difference is in
the alignment specification. The proposed syntax allows left, center, and right
alignment represented by '<'
, '^'
, and
'>'
respectively which is more expressive than the corresponding
-printf
syntax.
+printf
syntax. The latter only supports left and right (the default)
+alignment.
+
+
+
+The following example uses center alignment and '*'
as a fill
+character:
+
+std::format("{:*^30}", "centered");
+
+
+
+resulting in "***********centered***********"
.
+The same formatting cannot be easily achieved with printf
.
-Both format string syntax and API are designed with extensibility in mind. +Both the format string syntax and the API are designed with extensibility in mind. The mini-language can be extended for user-defined types and users can provide functions that do parsing and formatting for such types.
@@ -215,14 +233,25 @@ functions that do parsing and formatting for such types.
where format-spec is predefined for built-in types, but can be
-customized for user-defined types. For example, time formatting
+customized for user-defined types. For example, the syntax can be extended
+for put_time
-like date and time formatting:
+
+std::time_t t = std::time(nullptr);
+std::string date = std::format("The date is {0:%Y-%m-%d}.", *std::localtime(&t));
+
+
+TODO: API
TODO
+TODO
+TODO