Commit d5893c9a authored by Victor Zverovich's avatar Victor Zverovich

Update homepage and break long lines

parent 6ee9f2ed
...@@ -10,9 +10,9 @@ alternative to C++ IOStreams. ...@@ -10,9 +10,9 @@ alternative to C++ IOStreams.
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading">What users say:</div> <div class="panel-heading">What users say:</div>
<div class="panel-body"> <div class="panel-body">
Thanks for creating this library. It’s been a hole in C++ for a long time. Thanks for creating this library. It’s been a hole in C++ for a long
I’ve used both boost::format and loki::SPrintf, and neither felt like the time. I’ve used both boost::format and loki::SPrintf, and neither felt
right answer. This does. like the right answer. This does.
</div> </div>
</div> </div>
...@@ -98,8 +98,8 @@ literal operators, they must be made visible with the directive ...@@ -98,8 +98,8 @@ literal operators, they must be made visible with the directive
Write API Write API
--------- ---------
The concatenation-based Write API (experimental) provides a The concatenation-based Write API (experimental) provides a `fast
`fast <http://zverovich.net/2013/09/07/integer-to-string-conversion-in-cplusplus.html>`_ <http://zverovich.net/2013/09/07/integer-to-string-conversion-in-cplusplus.html>`_
stateless alternative to IOStreams: stateless alternative to IOStreams:
.. code:: c++ .. code:: c++
...@@ -112,8 +112,9 @@ stateless alternative to IOStreams: ...@@ -112,8 +112,9 @@ stateless alternative to IOStreams:
Safety Safety
------ ------
The library is fully type safe, automatic memory management prevents buffer overflow, The library is fully type safe, automatic memory management prevents buffer
errors in format strings are reported using exceptions. For example, the code overflow, errors in format strings are reported using exceptions. For example,
the code
.. code:: c++ .. code:: c++
...@@ -138,19 +139,21 @@ formatted into a narrow string. You can use a wide format string instead: ...@@ -138,19 +139,21 @@ formatted into a narrow string. You can use a wide format string instead:
fmt::format(L"Cyrillic letter {}", L'\x42e'); fmt::format(L"Cyrillic letter {}", L'\x42e');
For comparison, writing a wide character to ``std::ostream`` results in For comparison, writing a wide character to ``std::ostream`` results in
its numeric value being written to the stream (i.e. 1070 instead of letter 'ю' which its numeric value being written to the stream (i.e. 1070 instead of letter 'ю'
is represented by ``L'\x42e'`` if we use Unicode) which is rarely what is needed. which is represented by ``L'\x42e'`` if we use Unicode) which is rarely what is
needed.
.. _portability: .. _portability:
Portability Portability
----------- -----------
The library is highly portable. Here is an incomplete list of operating systems and The library is highly portable. Here is an incomplete list of operating systems
compilers where it has been tested and known to work: and compilers where it has been tested and known to work:
* 64-bit (amd64) GNU/Linux with GCC 4.4.3, `4.6.3 <https://travis-ci.org/fmtlib/fmt>`_, * 64-bit (amd64) GNU/Linux with GCC 4.4.3,
4.7.2, 4.8.1 and Intel C++ Compiler (ICC) 14.0.2 `4.6.3 <https://travis-ci.org/fmtlib/fmt>`_, 4.7.2, 4.8.1, and Intel C++
Compiler (ICC) 14.0.2
* 32-bit (i386) GNU/Linux with GCC 4.4.3, 4.6.3 * 32-bit (i386) GNU/Linux with GCC 4.4.3, 4.6.3
...@@ -161,21 +164,21 @@ compilers where it has been tested and known to work: ...@@ -161,21 +164,21 @@ compilers where it has been tested and known to work:
* 32-bit Windows with Visual C++ 2010 * 32-bit Windows with Visual C++ 2010
Although the library uses C++11 features when available, it also works with older Although the library uses C++11 features when available, it also works with
compilers and standard library implementations. The only thing to keep in mind older compilers and standard library implementations. The only thing to keep in
for C++98 portability: mind for C++98 portability:
* Variadic templates: minimum GCC 4.4, Clang 2.9 or VS2013. This feature allows * Variadic templates: minimum GCC 4.4, Clang 2.9 or VS2013. This feature allows
the Format API to accept an unlimited number of arguments. With older compilers the Format API to accept an unlimited number of arguments. With older
the maximum is 15. compilers the maximum is 15.
* User-defined literals: minimum GCC 4.7, Clang 3.1 or VS2015. The suffixes * User-defined literals: minimum GCC 4.7, Clang 3.1 or VS2015. The suffixes
``_format`` and ``_a`` are functionally equivalent to the functions ``_format`` and ``_a`` are functionally equivalent to the functions
``fmt::format`` and ``fmt::arg``. ``fmt::format`` and ``fmt::arg``.
The output of all formatting functions is consistent across platforms. In particular, The output of all formatting functions is consistent across platforms. In
formatting a floating-point infinity always gives ``inf`` while the output particular, formatting a floating-point infinity always gives ``inf`` while the
of ``printf`` is platform-dependent in this case. For example, output of ``printf`` is platform-dependent in this case. For example,
.. code:: .. code::
...@@ -188,10 +191,10 @@ always prints ``inf``. ...@@ -188,10 +191,10 @@ always prints ``inf``.
Ease of Use Ease of Use
----------- -----------
fmt has a small self-contained code base consisting of a single header file fmt has a small self-contained code base with the core library consisting of
and a single source file and no external dependencies. A permissive BSD `license a single header file and a single source file and no external dependencies.
<https://github.com/fmtlib/fmt#license>`_ allows using the library both A permissive BSD `license <https://github.com/fmtlib/fmt#license>`_ allows
in open-source and commercial projects. using the library both in open-source and commercial projects.
.. raw:: html .. raw:: html
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment