<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="">Buffer Types</string>
    <string name="">To facilitate working with instances of the __ConstBufferSequence__ and __MutableBufferSequence__ concepts introduced in __Asio__, Beast treats those sequences as a special type of range. The following algorithms and wrappers are provided which transform these ranges efficiently using lazy evaluation. No memory allocations are used in the transformations; instead, they create lightweight iterators over the existing, unmodified memory buffers. Control of buffers is retained by the caller; ownership is not transferred.</string>
    <string name="21">Buffer Algorithms and Types</string>
    <string name="21">Name</string>
    <string name="21">Description</string>
    <string name="">[link beast.ref.boost__beast__buffer_bytes `buffer_bytes`]</string>
    <string name="">This is a more reliable version of [@boost:/doc/html/boost_asio/reference/buffer_size.html `net::buffer_size`] which is easier to use and also works for types which are convertible to `net::const_buffer` or `net::mutable_buffer`.</string>
    <string name="">[link beast.ref.boost__beast__buffers_cat `buffers_cat`]</string>
    <string name="">This functions returns a new buffer sequence which, when iterated, traverses the sequence which would be formed if all of the input buffer sequences were concatenated. With this routine, multiple calls to a stream\'s `write_some` function may be combined into one, eliminating expensive system calls.</string>
    <string name="">[link beast.ref.boost__beast__buffers_cat_view `buffers_cat_view`]</string>
    <string name="">This class represents the buffer sequence formed by concatenating two or more buffer sequences. This is type of object returned by [link beast.ref.boost__beast__buffers_cat `buffers_cat`].</string>
    <string name="">[link beast.ref.boost__beast__buffers_front `buffers_front`]</string>
    <string name="">This function returns the first buffer in a buffer sequence, or a buffer of size zero if the buffer sequence has no elements.</string>
    <string name="">[link beast.ref.boost__beast__buffers_prefix `buffers_prefix`]</string>
    <string name="">This function returns a new buffer or buffer sequence which represents a prefix of the original buffers.</string>
    <string name="">[link beast.ref.boost__beast__buffers_prefix_view `buffers_prefix_view`]</string>
    <string name="">This class represents the buffer sequence formed from a prefix of an existing buffer sequence. This is the type of buffer returned by [link beast.ref.boost__beast__buffers_prefix `buffers_prefix`].</string>
    <string name="">[link beast.ref.boost__beast__buffers_range `buffers_range`] [link beast.ref.boost__beast__buffers_range_ref `buffers_range_ref`]</string>
    <string name="">This function returns an iterable range representing the passed buffer sequence. The values obtained when iterating the range will always be a constant buffer, unless the underlying buffer sequence is mutable, in which case the value obtained when iterating will be a mutable buffer. It is intended as a notational convenience when writing a [\'range-for] statement over a buffer sequence.\n\nThe function [link beast.ref.boost__beast__buffers_range_ref `buffers_range`] maintains a copy of the buffer sequence, while [link beast.ref.boost__beast__buffers_range_ref `buffers_range_ref`] maintains a reference (in this case, the caller must ensure that the lifetime of the referenced buffer sequence extends until the range object is destroyed).</string>
    <string name="">[link beast.ref.boost__beast__buffers_suffix `buffers_suffix`]</string>
    <string name="">This class wraps the underlying memory of an existing buffer sequence and presents a suffix of the original sequence. The length of the suffix may be progressively shortened. This lets callers work with sequential increments of a buffer sequence.</string>
    <string name="">[link beast.ref.boost__beast__buffers_to_string `buffers_to_string`]</string>
    <string name="">This function converts a buffer sequence to a `std::string`. It can be used for diagnostic purposes and tests.</string>
    <string name="">[link beast.ref.boost__beast__buffer_ref `buffer_ref`] [link beast.ref.boost__beast__ref `ref`]</string>
    <string name="">This function converts a beast buffer, that is to be passed by reference, into a buffer reference, that can be passed by value into asio functions.\n\nIt implements the __DynamicBuffer__v2__ concept.</string>
    <string name="">The __DynamicBuffer__ concept introduced in __Asio__ models a buffer sequence which supports an owning, resizable range. Beast provides this set of additional implementations of the dynamic buffer concept:</string>
    <string name="">Dynamic Buffer Implementations</string>
    <string name="115">Name</string>
    <string name="115">Description</string>
    <string name="">[link beast.ref.boost__beast__buffers_adaptor `buffers_adaptor`]</string>
    <string name="">This wrapper adapts any __MutableBufferSequence__ into a __DynamicBuffer__ with an upper limit on the total size of the input and output areas equal to the size of the underlying mutable buffer sequence. The implementation does not perform heap allocations.</string>
    <string name="">[link beast.ref.boost__beast__flat_buffer `flat_buffer`] [link beast.ref.boost__beast__basic_flat_buffer `basic_flat_buffer`]</string>
    <string name="">Guarantees that input and output areas are buffer sequences with length one. Upon construction an optional upper limit to the total size of the input and output areas may be set. The basic container is an [@https://en.cppreference.com/w/cpp/named_req/AllocatorAwareContainer [*AllocatorAwareContainer]].</string>
    <string name="">[link beast.ref.boost__beast__multi_buffer `multi_buffer`] [link beast.ref.boost__beast__basic_multi_buffer `basic_multi_buffer`]</string>
    <string name="">Uses a sequence of one or more character arrays of varying sizes. Additional character array objects are appended to the sequence to accommodate changes in the size of the character sequence. The basic container is an [@https://en.cppreference.com/w/cpp/named_req/AllocatorAwareContainer [*AllocatorAwareContainer]].</string>
    <string name="">[link beast.ref.boost__beast__flat_static_buffer `flat_static_buffer`] [link beast.ref.boost__beast__flat_static_buffer_base `flat_static_buffer_base`]</string>
    <string name="">Guarantees that input and output areas are buffer sequences with length one. Provides the facilities of a dynamic buffer, subject to an upper limit placed on the total size of the input and output areas defined by a constexpr template parameter. The storage for the sequences are kept in the class; the implementation does not perform heap allocations.</string>
    <string name="">[link beast.ref.boost__beast__static_buffer `static_buffer`] [link beast.ref.boost__beast__static_buffer_base `static_buffer_base`]</string>
    <string name="">Provides the facilities of a circular dynamic buffer. subject to an upper limit placed on the total size of the input and output areas defined by a constexpr template parameter. The implementation never moves memory during buffer operations. The storage for the sequences are kept in the class; the implementation does not perform heap allocations.</string>
    <string name="">The buffers provide different guarantees regarding the allocated memory; stable means that existing mutable and const_buffers obtained by calling `data` or `prepare`, will remain valid.</string>
    <string name="">Note that copies always requires a new call to `data` and `prepare`.`</string>
    <string name="">Memory stability</string>
    <string name="175">Name</string>
    <string name="">Allocation</string>
    <string name="">buffer sequence length</string>
    <string name="">Max Size</string>
    <string name="">Movable</string>
    <string name="">prepare/commit</string>
    <string name="">consume</string>
    <string name="">[link beast.ref.boost__beast__flat_buffer `flat_buffer`]</string>
    <string name="175">dynamic</string>
    <string name="175">1</string>
    <string name="175">yes</string>
    <string name="175">invalidating</string>
    <string name="">[link beast.ref.boost__beast__multi_buffer `multi_buffer`]</string>
    <string name="">stable</string>
    <string name="">[link beast.ref.boost__beast__flat_static_buffer `flat_static_buffer`]</string>
    <string name="175">static</string>
    <string name="175">no</string>
    <string name="">[link beast.ref.boost__beast__static_buffer `static_buffer`]</string>
    <string name="">1-2</string>
    <string name="">may invalidate</string>
    <string name="">These two functions facilitate buffer interoperability with standard output streams.</string>
    <string name="">Buffer Output Streams</string>
    <string name="198">Name</string>
    <string name="198">Description</string>
    <string name="">[link beast.ref.boost__beast__make_printable `make_printable`]</string>
    <string name="">This function wraps a __ConstBufferSequence__ so it may be used with `operator&lt;&lt;` and `std::ostream`.</string>
    <string name="">[link beast.ref.boost__beast__ostream `ostream`]</string>
    <string name="">This function returns a `std::ostream` which wraps a dynamic buffer. Characters sent to the stream using `operator&lt;&lt;` are stored in the dynamic buffer.</string>
    <string name="">These type traits are provided to facilitate writing compile-time metafunctions which operate on buffers:</string>
    <string name="218">Buffer Algorithms and Types</string>
    <string name="218">Name</string>
    <string name="218">Description</string>
    <string name="">[link beast.ref.boost__beast__buffers_iterator_type `buffers_iterator_type`]</string>
    <string name="">This metafunction is used to determine the type of iterator used by a particular buffer sequence.</string>
    <string name="">[link beast.ref.boost__beast__buffers_type `buffers_type`]</string>
    <string name="">This metafunction is used to determine the underlying buffer type for a list of buffer sequence. The equivalent type of the alias will vary depending on the template type argument.</string>
    <string name="">[link beast.ref.boost__beast__is_const_buffer_sequence `is_const_buffer_sequence`]</string>
    <string name="">This metafunction is used to determine if all of the specified types meet the requirements of __ConstBufferSequence__. This type alias will be `std::true_type` if each specified type meets the requirements, otherwise, this type alias will be `std::false_type`.</string>
    <string name="">[link beast.ref.boost__beast__is_mutable_buffer_sequence `is_mutable_buffer_sequence`]</string>
    <string name="">This metafunction is used to determine if all of the specified types meet the requirements of __MutableBufferSequence__. This type alias will be `std::true_type` if each specified type meets the requirements, otherwise, this type alias will be `std::false_type`.</string>
</resources>
