<?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="67721bc9583e2ecd" weblate-flags="read-only, safe-html, strict-same">
        <source>= `storage_ptr` Variable-length containers in this library all use dynamically allocated memory to store their contents. Callers can gain control over the strategy used for allocation by specifying a &lt;&lt;ref_storage_ptr&gt;&gt; in select constructors and function parameter lists. A &lt;&lt;ref_storage_ptr&gt;&gt; has these properties:</source>
        <target state="translated">= `storage_ptr` Variable-length containers in this library all use dynamically allocated memory to store their contents. Callers can gain control over the strategy used for allocation by specifying a &lt;&lt;ref_storage_ptr&gt;&gt; in select constructors and function parameter lists. A &lt;&lt;ref_storage_ptr&gt;&gt; has these properties:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">11</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="74afa41fef2be3de" weblate-flags="read-only, safe-html, strict-same">
        <source>A storage pointer always points to a valid,</source>
        <target state="translated">A storage pointer always points to a valid,</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">17</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="8b4b4b62cef57a74" weblate-flags="read-only, safe-html, strict-same">
        <source>type-erased {ref_memory_resource}.</source>
        <target state="translated">type-erased {ref_memory_resource}.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">18</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="2d550b907e4efc94" weblate-flags="read-only, safe-html, strict-same">
        <source>Default-constructed storage pointers reference the</source>
        <target state="translated">Default-constructed storage pointers reference the</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">20</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="8325316d33e98c1c" weblate-flags="read-only, safe-html, strict-same">
        <source>&lt;&lt;default_memory_resource,default resource&gt;&gt;, an implementation-defined instance which always uses the equivalent of global operator new and delete.</source>
        <target state="translated">&lt;&lt;default_memory_resource,default resource&gt;&gt;, an implementation-defined instance which always uses the equivalent of global operator new and delete.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">21</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="42941284383a7277" weblate-flags="read-only, safe-html, strict-same">
        <source>Storage pointers constructed from a {ref_memory_resource} or</source>
        <target state="translated">Storage pointers constructed from a {ref_memory_resource} or</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="4ab12e68ba291852" weblate-flags="read-only, safe-html, strict-same">
        <source>{ref_polymorphic_allocator} do not acquire ownership; the caller is responsible for ensuring that the lifetime of the resource extends until it is no longer referenced.</source>
        <target state="translated">{ref_polymorphic_allocator} do not acquire ownership; the caller is responsible for ensuring that the lifetime of the resource extends until it is no longer referenced.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">25</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="968383126cf25a3c" weblate-flags="read-only, safe-html, strict-same">
        <source>A storage pointer obtained from &lt;&lt;ref_make_shared_resource&gt;&gt; acquires shared</source>
        <target state="translated">A storage pointer obtained from &lt;&lt;ref_make_shared_resource&gt;&gt; acquires shared</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">29</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="2b4fe5ba0b026bdc" weblate-flags="read-only, safe-html, strict-same">
        <source>ownership of the memory resource; the lifetime of the resource is extended until all copies of the storage pointer are destroyed.</source>
        <target state="translated">ownership of the memory resource; the lifetime of the resource is extended until all copies of the storage pointer are destroyed.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">30</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="ee5f7e7375990ed9" weblate-flags="read-only, safe-html, strict-same">
        <source>The storage pointer remembers the value of &lt;&lt;ref_is_deallocate_trivial&gt;&gt;</source>
        <target state="translated">The storage pointer remembers the value of &lt;&lt;ref_is_deallocate_trivial&gt;&gt;</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">33</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="f8d7c8c35ae14001" weblate-flags="read-only, safe-html, strict-same">
        <source>before type-erasing the resource, allowing the value to be queried at run-time.</source>
        <target state="translated">before type-erasing the resource, allowing the value to be queried at run-time.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">34</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="6d459724353d32b2" weblate-flags="read-only, safe-html, strict-same">
        <source>This lists all of the allocation-related types and functions available when using the library:</source>
        <target state="translated">This lists all of the allocation-related types and functions available when using the library:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">37</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="b4c4db868dbf643a" weblate-flags="read-only, safe-html, strict-same">
        <source>Name</source>
        <target state="translated">Name</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">41</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="f7f5c115cf553484" weblate-flags="read-only, safe-html, strict-same">
        <source>Description</source>
        <target state="translated">Description</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">41</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="9c860700408cfc35" weblate-flags="read-only, safe-html, strict-same">
        <source>&lt;&lt;ref_get_null_resource&gt;&gt;</source>
        <target state="translated">&lt;&lt;ref_get_null_resource&gt;&gt;</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">41</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="2546b455897294da" weblate-flags="read-only, safe-html, strict-same">
        <source>Returns a pointer to a memory resource instance which always throws an</source>
        <target state="translated">Returns a pointer to a memory resource instance which always throws an</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">41</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="ae1c7715dbaf258a" weblate-flags="read-only, safe-html, strict-same">
        <source>exception upon allocation. This is used to to achieve the invariant that no parsing or container operation will dynamically allocate memory.</source>
        <target state="translated">exception upon allocation. This is used to to achieve the invariant that no parsing or container operation will dynamically allocate memory.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">46</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="c2e1a2cc6a23293a" weblate-flags="read-only, safe-html, strict-same">
        <source>&lt;&lt;ref_is_deallocate_trivial&gt;&gt;</source>
        <target state="translated">&lt;&lt;ref_is_deallocate_trivial&gt;&gt;</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">49</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="bdcf1e58d1bcca3c" weblate-flags="read-only, safe-html, strict-same">
        <source>A customization point allowing a memory resource type to indicate that calls</source>
        <target state="translated">A customization point allowing a memory resource type to indicate that calls</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">49</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="3d9ac427dceae3fc" weblate-flags="read-only, safe-html, strict-same">
        <source>to deallocate are trivial.</source>
        <target state="translated">to deallocate are trivial.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">51</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="8761e3b936064803" weblate-flags="read-only, safe-html, strict-same">
        <source>&lt;&lt;ref_make_shared_resource&gt;&gt;</source>
        <target state="translated">&lt;&lt;ref_make_shared_resource&gt;&gt;</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">53</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="713dd9c42999db8f" weblate-flags="read-only, safe-html, strict-same">
        <source>A function returning a smart pointer with shared ownership of a newly</source>
        <target state="translated">A function returning a smart pointer with shared ownership of a newly</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">53</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="317febcc43b055f8" weblate-flags="read-only, safe-html, strict-same">
        <source>allocated memory resource.</source>
        <target state="translated">allocated memory resource.</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="0062cdd7521077d5" weblate-flags="read-only, safe-html, strict-same">
        <source>{ref_memory_resource}</source>
        <target state="translated">{ref_memory_resource}</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">57</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="afebb1c461b61d0a" weblate-flags="read-only, safe-html, strict-same">
        <source>The abstract base class representing an allocator.</source>
        <target state="translated">The abstract base class representing an allocator.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">57</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="c7be91f7b1ec2d7f" weblate-flags="read-only, safe-html, strict-same">
        <source>&lt;&lt;ref_monotonic_resource&gt;&gt;</source>
        <target state="translated">&lt;&lt;ref_monotonic_resource&gt;&gt;</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">57</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="3cc5309f9e8341fa" weblate-flags="read-only, safe-html, strict-same">
        <source>A memory resource which allocates large blocks of memory and has a trivial</source>
        <target state="translated">A memory resource which allocates large blocks of memory and has a trivial</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">57</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="a29f626a4c118c32" weblate-flags="read-only, safe-html, strict-same">
        <source>deallocate function. Allocated memory is not freed until the resource is destroyed, making it fast for parsing but not suited for performing modifications.</source>
        <target state="translated">deallocate function. Allocated memory is not freed until the resource is destroyed, making it fast for parsing but not suited for performing modifications.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">62</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="95e3eeeb7826ac2c" weblate-flags="read-only, safe-html, strict-same">
        <source>{ref_polymorphic_allocator}</source>
        <target state="translated">{ref_polymorphic_allocator}</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">66</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="ad9bd360f0159ad5" weblate-flags="read-only, safe-html, strict-same">
        <source>An {req_Allocator} which uses a reference to a {ref_memory_resource} to</source>
        <target state="translated">An {req_Allocator} which uses a reference to a {ref_memory_resource} to</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">66</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="da671c610bc8bf82" weblate-flags="read-only, safe-html, strict-same">
        <source>perform allocations.</source>
        <target state="translated">perform allocations.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">68</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="300d38ae4c94cf9a" weblate-flags="read-only, safe-html, strict-same">
        <source>&lt;&lt;ref_static_resource&gt;&gt;</source>
        <target state="translated">&lt;&lt;ref_static_resource&gt;&gt;</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">70</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="c4d0d01edc852220" weblate-flags="read-only, safe-html, strict-same">
        <source>A memory resource that uses a single caller provided buffer. No dynamic</source>
        <target state="translated">A memory resource that uses a single caller provided buffer. No dynamic</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">70</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="08de41953e08e4d4" weblate-flags="read-only, safe-html, strict-same">
        <source>allocations are used. This is fast for parsing but not suited for performing modifications.</source>
        <target state="translated">allocations are used. This is fast for parsing but not suited for performing modifications.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">72</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="ac80dde53251acb1" weblate-flags="read-only, safe-html, strict-same">
        <source>&lt;&lt;ref_storage_ptr&gt;&gt;</source>
        <target state="translated">&lt;&lt;ref_storage_ptr&gt;&gt;</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">75</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="029f149e02905f1c" weblate-flags="read-only, safe-html, strict-same">
        <source>A smart pointer through which a {ref_memory_resource} is managed and</source>
        <target state="translated">A smart pointer through which a {ref_memory_resource} is managed and</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">75</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="20ee1f97469fe46c" weblate-flags="read-only, safe-html, strict-same">
        <source>accessed. |===</source>
        <target state="translated">accessed. |===</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">77</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="83ba2c0d9ece21f4" weblate-flags="read-only, safe-html, strict-same">
        <source>Default Memory Resource</source>
        <target state="translated">Default Memory Resource</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="528b6efe8edd7699" weblate-flags="read-only, safe-html, strict-same">
        <source>The default memory resource uses the global `operator new` and `operator delete` to allocate memory. This resource is not reference counted and has a non-trivial deallocate function. All default-constructed &lt;&lt;ref_storage_ptr&gt;&gt; objects reference the same memory resource:</source>
        <target state="translated">The default memory resource uses the global `operator new` and `operator delete` to allocate memory. This resource is not reference counted and has a non-trivial deallocate function. All default-constructed &lt;&lt;ref_storage_ptr&gt;&gt; objects reference the same memory resource:</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="c40f58e2885275ac" weblate-flags="read-only, safe-html, strict-same">
        <source>Default-constructed library containers use the default memory resource:</source>
        <target state="translated">Default-constructed library containers use the default memory resource:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">91</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="b7db9f80042cd561" weblate-flags="read-only, safe-html, strict-same">
        <source>The default memory resource is well suited for general usage. It offers reasonable performance for parsing, and conservative memory usage for modification of the contents of containers.</source>
        <target state="translated">The default memory resource is well suited for general usage. It offers reasonable performance for parsing, and conservative memory usage for modification of the contents of containers.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">98</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="91f838a9bd7c56da" weblate-flags="read-only, safe-html, strict-same">
        <source>This memory resource is not guaranteed to be the same as the result of `boost::container::pmr::get_default_resource`. It also cannot be changed with `boost::container::pmr::set_default_resource`.</source>
        <target state="translated">This memory resource is not guaranteed to be the same as the result of `boost::container::pmr::get_default_resource`. It also cannot be changed with `boost::container::pmr::set_default_resource`.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">103</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="c843bed65412cb9a" weblate-flags="read-only, safe-html, strict-same">
        <source>Monotonic Resource</source>
        <target state="translated">Monotonic Resource</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">107</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="8e839e6171d247fd" weblate-flags="read-only, safe-html, strict-same">
        <source>Consider the pattern of memory allocation during parsing: when an array, object, or string is encountered the parser accumulates elements in its temporary storage area. When all of the elements are known, a single memory allocation is requested from the resource when constructing the value. Thus, parsing only allocates and constructs containers at their final size. Memory is not reallocated; that is, a memory buffer never needs to grow by allocating a new larger buffer and deallocating the previous buffer.</source>
        <target state="translated">Consider the pattern of memory allocation during parsing: when an array, object, or string is encountered the parser accumulates elements in its temporary storage area. When all of the elements are known, a single memory allocation is requested from the resource when constructing the value. Thus, parsing only allocates and constructs containers at their final size. Memory is not reallocated; that is, a memory buffer never needs to grow by allocating a new larger buffer and deallocating the previous buffer.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">108</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="643789f79669ee7b" weblate-flags="read-only, safe-html, strict-same">
        <source>The &lt;&lt;ref_monotonic_resource&gt;&gt; optimizes this memory allocation pattern by allocating increasingly large blocks of global memory internally and parceling those blocks out in smaller pieces to fulfill allocation requests. It has a trivial deallocate function. The monotonic resource does not actually deallocate memory until the resource is destroyed. Thus, it is ideally suited for the use-case where JSON is parsed, and the resulting value is then inspected but not modified.</source>
        <target state="translated">The &lt;&lt;ref_monotonic_resource&gt;&gt; optimizes this memory allocation pattern by allocating increasingly large blocks of global memory internally and parceling those blocks out in smaller pieces to fulfill allocation requests. It has a trivial deallocate function. The monotonic resource does not actually deallocate memory until the resource is destroyed. Thus, it is ideally suited for the use-case where JSON is parsed, and the resulting value is then inspected but not modified.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">116</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="5b9c79269ea4c01c" weblate-flags="read-only, safe-html, strict-same">
        <source>The resource to use when constructing values may be specified in calls to &lt;&lt;ref_parse&gt;&gt; as shown here:</source>
        <target state="translated">The resource to use when constructing values may be specified in calls to &lt;&lt;ref_parse&gt;&gt; as shown here:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">124</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="e922f0a195b9abc9" weblate-flags="read-only, safe-html, strict-same">
        <source>Or, to parse into a value with shared ownership of the memory resource:</source>
        <target state="translated">Or, to parse into a value with shared ownership of the memory resource:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">132</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="c2a40934acf0e8cd" weblate-flags="read-only, safe-html, strict-same">
        <source>A monotonic resource may be optionally constructed with an initial buffer to use first, before going to the heap. This allows the caller to use stack space and avoid dynamic allocations for most parsed JSON, falling back to dynamic allocation from the heap if the input JSON is larger than average, as shown here:</source>
        <target state="translated">A monotonic resource may be optionally constructed with an initial buffer to use first, before going to the heap. This allows the caller to use stack space and avoid dynamic allocations for most parsed JSON, falling back to dynamic allocation from the heap if the input JSON is larger than average, as shown here:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">139</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="56fb6814fae27508" weblate-flags="read-only, safe-html, strict-same">
        <source>Static Resource</source>
        <target state="translated">Static Resource</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">150</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="ff6fa170fed30f42" weblate-flags="read-only, safe-html, strict-same">
        <source>A &lt;&lt;ref_static_resource&gt;&gt; constructs from a caller-provided buffer, and satisfies all memory allocation requests from the buffer. Once the buffer is exhausted, subsequent calls to allocate throw the exception `std::bad_alloc`. The resource offers a simple invariant: dynamic heap allocations are never performed.</source>
        <target state="translated">A &lt;&lt;ref_static_resource&gt;&gt; constructs from a caller-provided buffer, and satisfies all memory allocation requests from the buffer. Once the buffer is exhausted, subsequent calls to allocate throw the exception `std::bad_alloc`. The resource offers a simple invariant: dynamic heap allocations are never performed.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">151</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="d5e3f89d5e85a70d" weblate-flags="read-only, safe-html, strict-same">
        <source>To use the resource, construct it with a local buffer:</source>
        <target state="translated">To use the resource, construct it with a local buffer:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">157</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="02efb0b4ac4c2173" weblate-flags="read-only, safe-html, strict-same">
        <source>Null Resource</source>
        <target state="translated">Null Resource</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">164</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="5b29d67b8dfb5fe9" weblate-flags="read-only, safe-html, strict-same">
        <source>The function &lt;&lt;ref_get_null_resource&gt;&gt; returns a global instance of the null resource. This resource offers a simple invariant: all calls to allocate will throw the exception `std::bad_alloc`. An instance of the null resource can be used to make parsing guarantee that allocations from the heap are never made. This is explored in more detail in a later section.</source>
        <target state="translated">The function &lt;&lt;ref_get_null_resource&gt;&gt; returns a global instance of the null resource. This resource offers a simple invariant: all calls to allocate will throw the exception `std::bad_alloc`. An instance of the null resource can be used to make parsing guarantee that allocations from the heap are never made. This is explored in more detail in a later section.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">165</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="be805c67af6654dd" weblate-flags="read-only, safe-html, strict-same">
        <source>Allocator Propagation</source>
        <target state="translated">Allocator Propagation</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">171</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="557eb8710bfdb47a" weblate-flags="read-only, safe-html, strict-same">
        <source>The containers &lt;&lt;ref_array&gt;&gt;, &lt;&lt;ref_object&gt;&gt;, and &lt;&lt;ref_value&gt;&gt; all propagate the memory resource they were constructed with to child elements:</source>
        <target state="translated">The containers &lt;&lt;ref_array&gt;&gt;, &lt;&lt;ref_object&gt;&gt;, and &lt;&lt;ref_value&gt;&gt; all propagate the memory resource they were constructed with to child elements:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">172</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="1c5f22b06a932409" weblate-flags="read-only, safe-html, strict-same">
        <source>This propagation acts recursively, containers within containers will all have the resource propagated. Once a container is constructed, its memory resource can never be changed.</source>
        <target state="translated">This propagation acts recursively, containers within containers will all have the resource propagated. Once a container is constructed, its memory resource can never be changed.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">180</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="4835d6a453f38366" weblate-flags="read-only, safe-html, strict-same">
        <source>Resource Lifetime</source>
        <target state="translated">Resource Lifetime</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">184</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="8891c83b267ca41f" weblate-flags="read-only, safe-html, strict-same">
        <source>It is important to note that &lt;&lt;ref_storage_ptr&gt;&gt; supports both shared-ownership and reference lifetime models. Construction from a memory resource pointer does not transfer ownership:</source>
        <target state="translated">It is important to note that &lt;&lt;ref_storage_ptr&gt;&gt; supports both shared-ownership and reference lifetime models. Construction from a memory resource pointer does not transfer ownership:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">185</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="0990beca0de18144" weblate-flags="read-only, safe-html, strict-same">
        <source>When using a memory resource in this fashion, including the case where a storage pointer or container is constructed from a {ref_polymorphic_allocator}, the caller must ensure that the lifetime of the resource is extended until it is no longer referenced by any variables; otherwise, undefined behavior is possible.</source>
        <target state="translated">When using a memory resource in this fashion, including the case where a storage pointer or container is constructed from a {ref_polymorphic_allocator}, the caller must ensure that the lifetime of the resource is extended until it is no longer referenced by any variables; otherwise, undefined behavior is possible.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">194</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="207d765a6c5a7d61" weblate-flags="read-only, safe-html, strict-same">
        <source>Shared ownership is achieved using the function &lt;&lt;ref_make_shared_resource&gt;&gt;, which creates a new, reference-counted memory resource using a dynamic memory allocation and returns it as a &lt;&lt;ref_storage_ptr&gt;&gt;:</source>
        <target state="translated">Shared ownership is achieved using the function &lt;&lt;ref_make_shared_resource&gt;&gt;, which creates a new, reference-counted memory resource using a dynamic memory allocation and returns it as a &lt;&lt;ref_storage_ptr&gt;&gt;:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">200</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="dd00ca00b26f0c57" weblate-flags="read-only, safe-html, strict-same">
        <source>When a storage pointer is constructed this way, the lifetime of the referenced memory resource is extended until all variables which reference it are destroyed.</source>
        <target state="translated">When a storage pointer is constructed this way, the lifetime of the referenced memory resource is extended until all variables which reference it are destroyed.</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">209</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="bf105e1572a01940" weblate-flags="read-only, safe-html, strict-same">
        <source>User-Defined Resource</source>
        <target state="translated">User-Defined Resource</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">213</context>
        </context-group>
      </trans-unit>
      <trans-unit xml:space="preserve" approved="no" id="8a5b62fcea34b53e" weblate-flags="read-only, safe-html, strict-same">
        <source>To implement custom memory allocation strategies, derive your class from {ref_memory_resource} and implement the functions `do_allocate`, `do_deallocate`, and `do_is_equal` as seen in this example below, which logs each operation it performs to the console:</source>
        <target state="translated">To implement custom memory allocation strategies, derive your class from {ref_memory_resource} and implement the functions `do_allocate`, `do_deallocate`, and `do_is_equal` as seen in this example below, which logs each operation it performs to the console:</target>
        <context-group name="" purpose="location">
          <context context-type="sourcefile"></context>
          <context context-type="linenumber">214</context>
        </context-group>
      </trans-unit>
    </body>
  </file>
</xliff>
