/usr/include/boost/beast/core/impl
NameSizeModeActions
async_base.hpp36370644editdlrm
basic_stream.hpp268060644editdlrm
buffered_read_stream.hpp71960644editdlrm
buffers_adaptor.hpp158870644editdlrm
buffers_cat.hpp106250644editdlrm
buffers_prefix.hpp74710644editdlrm
buffers_suffix.hpp49690644editdlrm
error.hpp8580644editdlrm
error.ipp19950644editdlrm
file_posix.ipp68970644editdlrm
file_stdio.ipp60790644editdlrm
file_win32.ipp99720644editdlrm
flat_buffer.hpp119000644editdlrm
flat_static_buffer.hpp10150644editdlrm
flat_static_buffer.ipp17620644editdlrm
flat_stream.hpp77920644editdlrm
multi_buffer.hpp306130644editdlrm
read_size.hpp19890644editdlrm
saved_handler.hpp42940644editdlrm
saved_handler.ipp13910644editdlrm
static_buffer.hpp10390644editdlrm
static_buffer.ipp29580644editdlrm
static_string.hpp143160644editdlrm
string.ipp14440644editdlrm
string_param.hpp21500644editdlrm
Edit: /usr/include/boost/beast/core/impl/flat_static_buffer.ipp (1762B)
// // Copyright (c) 2016-2019 Vinnie Falco (vinnie dot falco at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // // Official repository: https://github.com/boostorg/beast // #ifndef BOOST_BEAST_IMPL_FLAT_STATIC_BUFFER_IPP #define BOOST_BEAST_IMPL_FLAT_STATIC_BUFFER_IPP #include #include #include #include #include #include #include namespace boost { namespace beast { /* Layout: begin_ in_ out_ last_ end_ |<------->|<---------->|<---------->|<------->| | readable | writable | */ void flat_static_buffer_base:: clear() noexcept { in_ = begin_; out_ = begin_; last_ = begin_; } auto flat_static_buffer_base:: prepare(std::size_t n) -> mutable_buffers_type { if(n <= dist(out_, end_)) { last_ = out_ + n; return {out_, n}; } auto const len = size(); if(n > capacity() - len) BOOST_THROW_EXCEPTION(std::length_error{ "buffer overflow"}); if(len > 0) std::memmove(begin_, in_, len); in_ = begin_; out_ = in_ + len; last_ = out_ + n; return {out_, n}; } void flat_static_buffer_base:: consume(std::size_t n) noexcept { if(n >= size()) { in_ = begin_; out_ = in_; return; } in_ += n; } void flat_static_buffer_base:: reset(void* p, std::size_t n) noexcept { begin_ = static_cast(p); in_ = begin_; out_ = begin_; last_ = begin_; end_ = begin_ + n; } } // beast } // boost #endif