msgid ""
msgstr ""
"Project-Id-Version: Chinese (Simplified Han script) (Boost Beast Translation "
"(zh_Hans))\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-06 20:29+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (Simplified Han script) <https://"
"insights.cppalliance.org/weblate/projects/boost-beast-documentation-zh_Hans/"
"doc-qbk-03-core-5-buffers-qbk/zh_Hans/>\n"
"Language: zh_Hans\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 2026.5\n"

#. type: section title
#: 10
#, fuzzy
msgid "Buffer Types"
msgstr "Buffer Types"

#. type: paragraph
#: 12
#, fuzzy
msgid ""
"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."
msgstr ""
"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."

#. type: table title
#: 21
#, fuzzy
msgctxt "21"
msgid "Buffer Algorithms and Types"
msgstr "Buffer Algorithms and Types"

#. type: table cell
#: 21
#, fuzzy
msgctxt "21"
msgid "Name"
msgstr "Name"

#. type: table cell
#: 21
#, fuzzy
msgctxt "21"
msgid "Description"
msgstr "Description"

#. type: table cell
#: 21
#, fuzzy
msgid "[link beast.ref.boost__beast__buffer_bytes `buffer_bytes`]"
msgstr "[link beast.ref.boost__beast__buffer_bytes `buffer_bytes`]"

#. type: table cell
#: 21
#, fuzzy
msgid ""
"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`."
msgstr ""
"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`."

#. type: table cell
#: 21
#, fuzzy
msgid "[link beast.ref.boost__beast__buffers_cat `buffers_cat`]"
msgstr "[link beast.ref.boost__beast__buffers_cat `buffers_cat`]"

#. type: table cell
#: 21
#, fuzzy
msgid ""
"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."
msgstr ""
"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."

#. type: table cell
#: 21
#, fuzzy
msgid "[link beast.ref.boost__beast__buffers_cat_view `buffers_cat_view`]"
msgstr "[link beast.ref.boost__beast__buffers_cat_view `buffers_cat_view`]"

#. type: table cell
#: 21
#, fuzzy
msgid ""
"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`]."
msgstr ""
"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`]."

#. type: table cell
#: 21
#, fuzzy
msgid "[link beast.ref.boost__beast__buffers_front `buffers_front`]"
msgstr "[link beast.ref.boost__beast__buffers_front `buffers_front`]"

#. type: table cell
#: 21
#, fuzzy
msgid ""
"This function returns the first buffer in a buffer sequence, or a buffer of "
"size zero if the buffer sequence has no elements."
msgstr ""
"This function returns the first buffer in a buffer sequence, or a buffer of "
"size zero if the buffer sequence has no elements."

#. type: table cell
#: 21
#, fuzzy
msgid "[link beast.ref.boost__beast__buffers_prefix `buffers_prefix`]"
msgstr "[link beast.ref.boost__beast__buffers_prefix `buffers_prefix`]"

#. type: table cell
#: 21
#, fuzzy
msgid ""
"This function returns a new buffer or buffer sequence which represents a "
"prefix of the original buffers."
msgstr ""
"This function returns a new buffer or buffer sequence which represents a "
"prefix of the original buffers."

#. type: table cell
#: 21
#, fuzzy
msgid ""
"[link beast.ref.boost__beast__buffers_prefix_view `buffers_prefix_view`]"
msgstr ""
"[link beast.ref.boost__beast__buffers_prefix_view `buffers_prefix_view`]"

#. type: table cell
#: 21
#, fuzzy
msgid ""
"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`]."
msgstr ""
"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`]."

#. type: table cell
#: 21
#, fuzzy
msgid ""
"[link beast.ref.boost__beast__buffers_range `buffers_range`] [link "
"beast.ref.boost__beast__buffers_range_ref `buffers_range_ref`]"
msgstr ""
"[link beast.ref.boost__beast__buffers_range `buffers_range`] [link "
"beast.ref.boost__beast__buffers_range_ref `buffers_range_ref`]"

#. type: table cell
#: 21
#, fuzzy
msgid ""
"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"
"\n"
"The 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)."
msgstr ""
"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"
"\n"
"The 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)."

#. type: table cell
#: 21
#, fuzzy
msgid "[link beast.ref.boost__beast__buffers_suffix `buffers_suffix`]"
msgstr "[link beast.ref.boost__beast__buffers_suffix `buffers_suffix`]"

#. type: table cell
#: 21
#, fuzzy
msgid ""
"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."
msgstr ""
"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."

#. type: table cell
#: 21
#, fuzzy
msgid "[link beast.ref.boost__beast__buffers_to_string `buffers_to_string`]"
msgstr "[link beast.ref.boost__beast__buffers_to_string `buffers_to_string`]"

#. type: table cell
#: 21
#, fuzzy
msgid ""
"This function converts a buffer sequence to a `std::string`. It can be used "
"for diagnostic purposes and tests."
msgstr ""
"This function converts a buffer sequence to a `std::string`. It can be used "
"for diagnostic purposes and tests."

#. type: table cell
#: 21
#, fuzzy
msgid ""
"[link beast.ref.boost__beast__buffer_ref `buffer_ref`] [link "
"beast.ref.boost__beast__ref `ref`]"
msgstr ""
"[link beast.ref.boost__beast__buffer_ref `buffer_ref`] [link "
"beast.ref.boost__beast__ref `ref`]"

#. type: table cell
#: 21
#, fuzzy
msgid ""
"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"
"\n"
"It implements the __DynamicBuffer__v2__ concept."
msgstr ""
"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"
"\n"
"It implements the __DynamicBuffer__v2__ concept."

#. type: paragraph
#: 111
#, fuzzy
msgid ""
"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:"
msgstr ""
"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:"

#. type: table title
#: 115
#, fuzzy
msgid "Dynamic Buffer Implementations"
msgstr "Dynamic Buffer Implementations"

#. type: table cell
#: 115
#, fuzzy
msgctxt "115"
msgid "Name"
msgstr "Name"

#. type: table cell
#: 115
#, fuzzy
msgctxt "115"
msgid "Description"
msgstr "Description"

#. type: table cell
#: 115
#, fuzzy
msgid "[link beast.ref.boost__beast__buffers_adaptor `buffers_adaptor`]"
msgstr "[link beast.ref.boost__beast__buffers_adaptor `buffers_adaptor`]"

#. type: table cell
#: 115
#, fuzzy
msgid ""
"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."
msgstr ""
"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."

#. type: table cell
#: 115
#, fuzzy
msgid ""
"[link beast.ref.boost__beast__flat_buffer `flat_buffer`] [link "
"beast.ref.boost__beast__basic_flat_buffer `basic_flat_buffer`]"
msgstr ""
"[link beast.ref.boost__beast__flat_buffer `flat_buffer`] [link "
"beast.ref.boost__beast__basic_flat_buffer `basic_flat_buffer`]"

#. type: table cell
#: 115
#, fuzzy
msgid ""
"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]]."
msgstr ""
"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]]."

#. type: table cell
#: 115
#, fuzzy
msgid ""
"[link beast.ref.boost__beast__multi_buffer `multi_buffer`] [link "
"beast.ref.boost__beast__basic_multi_buffer `basic_multi_buffer`]"
msgstr ""
"[link beast.ref.boost__beast__multi_buffer `multi_buffer`] [link "
"beast.ref.boost__beast__basic_multi_buffer `basic_multi_buffer`]"

#. type: table cell
#: 115
#, fuzzy
msgid ""
"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]]."
msgstr ""
"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]]."

#. type: table cell
#: 115
#, fuzzy
msgid ""
"[link beast.ref.boost__beast__flat_static_buffer `flat_static_buffer`] [link "
"beast.ref.boost__beast__flat_static_buffer_base `flat_static_buffer_base`]"
msgstr ""
"[link beast.ref.boost__beast__flat_static_buffer `flat_static_buffer`] [link "
"beast.ref.boost__beast__flat_static_buffer_base `flat_static_buffer_base`]"

#. type: table cell
#: 115
#, fuzzy
msgid ""
"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."
msgstr ""
"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."

#. type: table cell
#: 115
#, fuzzy
msgid ""
"[link beast.ref.boost__beast__static_buffer `static_buffer`] [link "
"beast.ref.boost__beast__static_buffer_base `static_buffer_base`]"
msgstr ""
"[link beast.ref.boost__beast__static_buffer `static_buffer`] [link "
"beast.ref.boost__beast__static_buffer_base `static_buffer_base`]"

#. type: table cell
#: 115
#, fuzzy
msgid ""
"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."
msgstr ""
"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."

#. type: paragraph
#: 170
#, fuzzy
msgid ""
"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."
msgstr ""
"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."

#. type: paragraph
#: 173
#, fuzzy
msgid "Note that copies always requires a new call to `data` and `prepare`.`"
msgstr "Note that copies always requires a new call to `data` and `prepare`.`"

#. type: table title
#: 175
#, fuzzy
msgid "Memory stability"
msgstr "Memory stability"

#. type: table cell
#: 175
#, fuzzy
msgctxt "175"
msgid "Name"
msgstr "Name"

#. type: table cell
#: 175
#, fuzzy
msgid "Allocation"
msgstr "Allocation"

#. type: table cell
#: 175
#, fuzzy
msgid "buffer sequence length"
msgstr "buffer sequence length"

#. type: table cell
#: 175
#, fuzzy
msgid "Max Size"
msgstr "Max Size"

#. type: table cell
#: 175
#, fuzzy
msgid "Movable"
msgstr "Movable"

#. type: table cell
#: 175
#, fuzzy
msgid "prepare/commit"
msgstr "prepare/commit"

#. type: table cell
#: 175
#, fuzzy
msgid "consume"
msgstr "consume"

#. type: table cell
#: 175
#, fuzzy
msgid "[link beast.ref.boost__beast__flat_buffer `flat_buffer`]"
msgstr "[link beast.ref.boost__beast__flat_buffer `flat_buffer`]"

#. type: table cell
#.
#: 175
msgctxt "175"
msgid "dynamic"
msgstr ""

#. type: table cell
#.
#: 175
msgctxt "175"
msgid "1"
msgstr ""

#. type: table cell
#.
#: 175
msgctxt "175"
msgid "yes"
msgstr ""

#. type: table cell
#.
#: 175
msgctxt "175"
msgid "invalidating"
msgstr ""

#. type: table cell
#: 175
#, fuzzy
msgid "[link beast.ref.boost__beast__multi_buffer `multi_buffer`]"
msgstr "[link beast.ref.boost__beast__multi_buffer `multi_buffer`]"

#. type: table cell
#: 175
#, fuzzy
msgid "stable"
msgstr "stable"

#. type: table cell
#: 175
#, fuzzy
msgid "[link beast.ref.boost__beast__flat_static_buffer `flat_static_buffer`]"
msgstr "[link beast.ref.boost__beast__flat_static_buffer `flat_static_buffer`]"

#. type: table cell
#.
#: 175
msgctxt "175"
msgid "static"
msgstr ""

#. type: table cell
#.
#: 175
msgctxt "175"
msgid "no"
msgstr ""

#. type: table cell
#: 175
#, fuzzy
msgid "[link beast.ref.boost__beast__static_buffer `static_buffer`]"
msgstr "[link beast.ref.boost__beast__static_buffer `static_buffer`]"

#. type: table cell
#: 175
#, fuzzy
msgid "1-2"
msgstr "1-2"

#. type: table cell
#: 175
#, fuzzy
msgid "may invalidate"
msgstr "may invalidate"

#. type: paragraph
#: 195
#, fuzzy
msgid ""
"These two functions facilitate buffer interoperability with standard output "
"streams."
msgstr ""
"These two functions facilitate buffer interoperability with standard output "
"streams."

#. type: table title
#: 198
#, fuzzy
msgid "Buffer Output Streams"
msgstr "Buffer Output Streams"

#. type: table cell
#: 198
#, fuzzy
msgctxt "198"
msgid "Name"
msgstr "Name"

#. type: table cell
#: 198
#, fuzzy
msgctxt "198"
msgid "Description"
msgstr "Description"

#. type: table cell
#: 198
#, fuzzy
msgid "[link beast.ref.boost__beast__make_printable `make_printable`]"
msgstr "[link beast.ref.boost__beast__make_printable `make_printable`]"

#. type: table cell
#: 198
#, fuzzy
msgid ""
"This function wraps a __ConstBufferSequence__ so it may be used with "
"`operator<<` and `std::ostream`."
msgstr ""
"This function wraps a __ConstBufferSequence__ so it may be used with "
"`operator<<` and `std::ostream`."

#. type: table cell
#: 198
#, fuzzy
msgid "[link beast.ref.boost__beast__ostream `ostream`]"
msgstr "[link beast.ref.boost__beast__ostream `ostream`]"

#. type: table cell
#: 198
#, fuzzy
msgid ""
"This function returns a `std::ostream` which wraps a dynamic buffer. "
"Characters sent to the stream using `operator<<` are stored in the dynamic "
"buffer."
msgstr ""
"This function returns a `std::ostream` which wraps a dynamic buffer. "
"Characters sent to the stream using `operator<<` are stored in the dynamic "
"buffer."

#. type: paragraph
#: 215
#, fuzzy
msgid ""
"These type traits are provided to facilitate writing compile-time "
"metafunctions which operate on buffers:"
msgstr ""
"These type traits are provided to facilitate writing compile-time "
"metafunctions which operate on buffers:"

#. type: table title
#: 218
#, fuzzy
msgctxt "218"
msgid "Buffer Algorithms and Types"
msgstr "Buffer Algorithms and Types"

#. type: table cell
#: 218
#, fuzzy
msgctxt "218"
msgid "Name"
msgstr "Name"

#. type: table cell
#: 218
#, fuzzy
msgctxt "218"
msgid "Description"
msgstr "Description"

#. type: table cell
#: 218
#, fuzzy
msgid ""
"[link beast.ref.boost__beast__buffers_iterator_type `buffers_iterator_type`]"
msgstr ""
"[link beast.ref.boost__beast__buffers_iterator_type `buffers_iterator_type`]"

#. type: table cell
#: 218
#, fuzzy
msgid ""
"This metafunction is used to determine the type of iterator used by a "
"particular buffer sequence."
msgstr ""
"This metafunction is used to determine the type of iterator used by a "
"particular buffer sequence."

#. type: table cell
#: 218
#, fuzzy
msgid "[link beast.ref.boost__beast__buffers_type `buffers_type`]"
msgstr "[link beast.ref.boost__beast__buffers_type `buffers_type`]"

#. type: table cell
#: 218
#, fuzzy
msgid ""
"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."
msgstr ""
"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."

#. type: table cell
#: 218
#, fuzzy
msgid ""
"[link beast.ref.boost__beast__is_const_buffer_sequence "
"`is_const_buffer_sequence`]"
msgstr ""
"[link beast.ref.boost__beast__is_const_buffer_sequence "
"`is_const_buffer_sequence`]"

#. type: table cell
#: 218
#, fuzzy
msgid ""
"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`."
msgstr ""
"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`."

#. type: table cell
#: 218
#, fuzzy
msgid ""
"[link beast.ref.boost__beast__is_mutable_buffer_sequence "
"`is_mutable_buffer_sequence`]"
msgstr ""
"[link beast.ref.boost__beast__is_mutable_buffer_sequence "
"`is_mutable_buffer_sequence`]"

#. type: table cell
#: 218
#, fuzzy
msgid ""
"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`."
msgstr ""
"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`."
