<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" version="1.1">
  <file original="NoName" source-language="en" datatype="plaintext" target-language="en">
    <body>
      <trans-unit xml:space="preserve" approved="no" id="a3ef4e1045cbe0f9" weblate-flags="read-only, safe-html, strict-same">
        <source>= Numbers JSON numbers are represented using `std::int64_t`, `std::uint64_t`, and `double`. When a &lt;&lt;ref_value&gt;&gt; is constructed from an unsigned integer, its &lt;&lt;ref_kind&gt;&gt; will be `kind::uint64`. Likewise, a &lt;&lt;ref_value&gt;&gt; constructed from a signed integer will have `kind::int64`, or `kind::double_` if constructed from a floating-point type:</source>
        <target state="translated">= Numbers JSON numbers are represented using `std::int64_t`, `std::uint64_t`, and `double`. When a &lt;&lt;ref_value&gt;&gt; is constructed from an unsigned integer, its &lt;&lt;ref_kind&gt;&gt; will be `kind::uint64`. Likewise, a &lt;&lt;ref_value&gt;&gt; constructed from a signed integer will have `kind::int64`, or `kind::double_` if constructed from a floating-point type:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">12</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="230e1231a35545da" weblate-flags="read-only, safe-html, strict-same">
        <source>When accessing a number contained within a &lt;&lt;ref_value&gt;&gt;, the function used must match the value's &lt;&lt;ref_kind&gt;&gt; exactly; no conversions will be performed. For example if `as_double` is called on a &lt;&lt;ref_value&gt;&gt; that contains a `std::uint64_t`, an exception is thrown. Similarly, the function `if_double` will return `nullptr` and calling `get_double` will result in undefined behavior:</source>
        <target state="translated">When accessing a number contained within a &lt;&lt;ref_value&gt;&gt;, the function used must match the value's &lt;&lt;ref_kind&gt;&gt; exactly; no conversions will be performed. For example if `as_double` is called on a &lt;&lt;ref_value&gt;&gt; that contains a `std::uint64_t`, an exception is thrown. Similarly, the function `if_double` will return `nullptr` and calling `get_double` will result in undefined behavior:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">24</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="aaf24e0edc434cf6" weblate-flags="read-only, safe-html, strict-same">
        <source>In cases where you know that a &lt;&lt;ref_value&gt;&gt; contains a number but don't know its &lt;&lt;ref_kind&gt;&gt;, `value::to_number` can be used to convert the &lt;&lt;ref_value&gt;&gt; to an arithmetic type:</source>
        <target state="translated">In cases where you know that a &lt;&lt;ref_value&gt;&gt; contains a number but don't know its &lt;&lt;ref_kind&gt;&gt;, `value::to_number` can be used to convert the &lt;&lt;ref_value&gt;&gt; to an arithmetic type:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">36</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="11f94f926006c5b1" weblate-flags="read-only, safe-html, strict-same">
        <source>If the &lt;&lt;ref_value&gt;&gt; does not contain a number, or if the conversion is to an integer type `T` and the number cannot be represented exactly by `T`, the conversion will fail. Otherwise, the result is the number converted to `T` as-if by `static_cast`:</source>
        <target state="translated">If the &lt;&lt;ref_value&gt;&gt; does not contain a number, or if the conversion is to an integer type `T` and the number cannot be represented exactly by `T`, the conversion will fail. Otherwise, the result is the number converted to `T` as-if by `static_cast`:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">45</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="df7b95b00a2e5a93" weblate-flags="read-only, safe-html, strict-same">
        <source>In settings where exceptions cannot be used, an overload of `value::to_number` accepting {ref_error_code} can be used instead with identical semantics to its throwing counterpart:</source>
        <target state="translated">In settings where exceptions cannot be used, an overload of `value::to_number` accepting {ref_error_code} can be used instead with identical semantics to its throwing counterpart:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">55</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="d7f2ef5a043e9fa7" weblate-flags="read-only, safe-html, strict-same">
        <source>When parsing a JSON document, the type used to represent a number is not explicitly specified and must be determined from its value. In general, the parser will choose the best type which can accurately store the number as it appears in the document. Integers (i.e. numbers without decimals or exponents) that cannot be represented by `std::uint64_t` and `std::int64_t` will be represented as `double` to preserve their magnitude:</source>
        <target state="translated">When parsing a JSON document, the type used to represent a number is not explicitly specified and must be determined from its value. In general, the parser will choose the best type which can accurately store the number as it appears in the document. Integers (i.e. numbers without decimals or exponents) that cannot be represented by `std::uint64_t` and `std::int64_t` will be represented as `double` to preserve their magnitude:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">64</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="0c490b17341209d8" weblate-flags="read-only, safe-html, strict-same">
        <source>More formally, if the number:</source>
        <target state="translated">More formally, if the number:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">76</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="1d46d10efaedc962" weblate-flags="read-only, safe-html, strict-same">
        <source>contains a decimal point, or</source>
        <target state="translated">contains a decimal point, or</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">78</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="e00ea15f87187ee0" weblate-flags="read-only, safe-html, strict-same">
        <source>contains an exponent, or</source>
        <target state="translated">contains an exponent, or</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">79</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="a9dab5b15d5ae4cd" weblate-flags="read-only, safe-html, strict-same">
        <source>is negative and its value is less than `INT64_MIN`, or</source>
        <target state="translated">is negative and its value is less than `INT64_MIN`, or</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">80</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="c9ceab88fa59d94e" weblate-flags="read-only, safe-html, strict-same">
        <source>is positive and its value is greater than `UINT64_MAX`,</source>
        <target state="translated">is positive and its value is greater than `UINT64_MAX`,</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">81</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="c010dddae24b27bb" weblate-flags="read-only, safe-html, strict-same">
        <source>then its type is `double`. Otherwise, if the number is positive and its value is greater than `INT64_MAX`, then its type is `std::uint64_t`. All other numbers are parsed as `std::int64_t`.</source>
        <target state="translated">then its type is `double`. Otherwise, if the number is positive and its value is greater than `INT64_MAX`, then its type is `std::uint64_t`. All other numbers are parsed as `std::int64_t`.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">83</context>
        </context-group>
      </trans-unit>
    </body>
  </file>
</xliff>
