/
usr
/
include
/
boost
/
beast
/
core
/
/usr/include/boost/beast/core
mkdir
upload
Name
Size
Mode
Actions
detail/
-
0755
rm
impl/
-
0755
rm
async_base.hpp
26461
0644
edit
dl
rm
basic_stream.hpp
55342
0644
edit
dl
rm
bind_handler.hpp
4172
0644
edit
dl
rm
buffered_read_stream.hpp
11877
0644
edit
dl
rm
buffers_adaptor.hpp
6783
0644
edit
dl
rm
buffers_cat.hpp
3383
0644
edit
dl
rm
buffers_prefix.hpp
6152
0644
edit
dl
rm
buffers_range.hpp
4211
0644
edit
dl
rm
buffers_suffix.hpp
3971
0644
edit
dl
rm
buffers_to_string.hpp
1770
0644
edit
dl
rm
buffer_traits.hpp
5757
0644
edit
dl
rm
detect_ssl.hpp
22345
0644
edit
dl
rm
error.hpp
2257
0644
edit
dl
rm
file.hpp
1028
0644
edit
dl
rm
file_base.hpp
5015
0644
edit
dl
rm
file_posix.hpp
4222
0644
edit
dl
rm
file_stdio.hpp
3849
0644
edit
dl
rm
file_win32.hpp
4248
0644
edit
dl
rm
flat_buffer.hpp
15427
0644
edit
dl
rm
flat_static_buffer.hpp
8706
0644
edit
dl
rm
flat_stream.hpp
12603
0644
edit
dl
rm
make_printable.hpp
2803
0644
edit
dl
rm
multi_buffer.hpp
18153
0644
edit
dl
rm
ostream.hpp
2690
0644
edit
dl
rm
rate_policy.hpp
4592
0644
edit
dl
rm
read_size.hpp
1844
0644
edit
dl
rm
role.hpp
1322
0644
edit
dl
rm
saved_handler.hpp
3788
0644
edit
dl
rm
span.hpp
4787
0644
edit
dl
rm
static_buffer.hpp
8515
0644
edit
dl
rm
static_string.hpp
25720
0644
edit
dl
rm
stream_traits.hpp
16399
0644
edit
dl
rm
string.hpp
1941
0644
edit
dl
rm
string_param.hpp
3459
0644
edit
dl
rm
string_type.hpp
1092
0644
edit
dl
rm
tcp_stream.hpp
853
0644
edit
dl
rm
Edit:
/usr/include/boost/beast/core/buffers_suffix.hpp
(3971B)
// // 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_BUFFERS_SUFFIX_HPP #define BOOST_BEAST_BUFFERS_SUFFIX_HPP #include <boost/beast/core/detail/config.hpp> #include <boost/beast/core/buffer_traits.hpp> #include <boost/optional.hpp> #include <cstdint> #include <iterator> #include <utility> namespace boost { namespace beast { /** Adaptor to progressively trim the front of a <em>BufferSequence</em>. This adaptor wraps a buffer sequence to create a new sequence which may be incrementally consumed. Bytes consumed are removed from the front of the buffer. The underlying memory is not changed, instead the adaptor efficiently iterates through a subset of the buffers wrapped. The wrapped buffer is not modified, a copy is made instead. Ownership of the underlying memory is not transferred, the application is still responsible for managing its lifetime. @tparam BufferSequence The buffer sequence to wrap. @par Example This function writes the entire contents of a buffer sequence to the specified stream. @code template<class SyncWriteStream, class ConstBufferSequence> void send(SyncWriteStream& stream, ConstBufferSequence const& buffers) { buffers_suffix<ConstBufferSequence> bs{buffers}; while(buffer_bytes(bs) > 0) bs.consume(stream.write_some(bs)); } @endcode */ template<class BufferSequence> class buffers_suffix { using iter_type = buffers_iterator_type<BufferSequence>; BufferSequence bs_; iter_type begin_{}; std::size_t skip_ = 0; template<class Deduced> buffers_suffix(Deduced&& other, std::size_t dist) : bs_(std::forward<Deduced>(other).bs_) , begin_(std::next( net::buffer_sequence_begin(bs_), dist)) , skip_(other.skip_) { } public: /** The type for each element in the list of buffers. If <em>BufferSequence</em> meets the requirements of <em>MutableBufferSequence</em>, then this type will be `net::mutable_buffer`, otherwise this type will be `net::const_buffer`. */ #if BOOST_BEAST_DOXYGEN using value_type = __see_below__; #else using value_type = buffers_type<BufferSequence>; #endif #if BOOST_BEAST_DOXYGEN /// A bidirectional iterator type that may be used to read elements. using const_iterator = __implementation_defined__; #else class const_iterator; #endif /// Constructor buffers_suffix(); /// Copy Constructor buffers_suffix(buffers_suffix const&); /** Constructor A copy of the buffer sequence is made. Ownership of the underlying memory is not transferred or copied. */ explicit buffers_suffix(BufferSequence const& buffers); /** Constructor This constructs the buffer sequence in-place from a list of arguments. @param args Arguments forwarded to the buffers constructor. */ template<class... Args> explicit buffers_suffix(boost::in_place_init_t, Args&&... args); /// Copy Assignment buffers_suffix& operator=(buffers_suffix const&); /// Get a bidirectional iterator to the first element. const_iterator begin() const; /// Get a bidirectional iterator to one past the last element. const_iterator end() const; /** Remove bytes from the beginning of the sequence. @param amount The number of bytes to remove. If this is larger than the number of bytes remaining, all the bytes remaining are removed. */ void consume(std::size_t amount); }; } // beast } // boost #include <boost/beast/core/impl/buffers_suffix.hpp> #endif
Save
cmd:
run