<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="">= Direct Conversion For large inputs parsing into the library\'s containers followed by conversion via &lt;&lt;ref_value_to&gt;&gt; (or vice versa &lt;&lt;ref_value_from&gt;&gt; followed by serialization from a &lt;&lt;ref_value&gt;&gt;) might be prohibitively expensive. For these cases the library provides components that allow parsing directly into and serializing directly from user-provided objects.</string>
    <string name="">The drawback of this approach is that fully custom type representations are not supported, only the library-provided conversions are. Also all objects that should be populated by parsing have to be default constructible types. This includes not only the top-level object, but e.g. elements of containers, members of described `struct`s, and alternatives of variants.</string>
    <string name="">That being said, if your types are default-constructible and you don\'t need the customisability allowed by &lt;&lt;ref_value_to&gt;&gt; and &lt;&lt;ref_value_from&gt;&gt;, then you can get a significant performance boost with direct conversions.</string>
    <string name="">Direct parsing is performed by the &lt;&lt;ref_parse_into&gt;&gt; family of functions. The library provides overloads that take either &lt;&lt;ref_string_view&gt;&gt; or `std::istream`, and can report errors either via throwing exceptions or setting an error code.</string>
    <string name="">If you need to combine incremental parsing with direct parsing, you can resort to &lt;&lt;ref_parser_for&gt;&gt;. `parser_for&lt;T&gt;` is an instantiation of &lt;&lt;ref_basic_parser&gt;&gt; that parses into an object of type `T`, and is what &lt;&lt;ref_parse_into&gt;&gt; uses under the hood.</string>
    <string name="">Direct serialization doesn\'t require any special components and works with the regular &lt;&lt;ref_serializer&gt;&gt; and &lt;&lt;ref_serialize&gt;&gt;.</string>
</resources>
