diff options
Diffstat (limited to 'boost/beast/core/impl/flat_static_buffer.hpp')
-rw-r--r-- | boost/beast/core/impl/flat_static_buffer.hpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/boost/beast/core/impl/flat_static_buffer.hpp b/boost/beast/core/impl/flat_static_buffer.hpp new file mode 100644 index 0000000000..c812dd0cfc --- /dev/null +++ b/boost/beast/core/impl/flat_static_buffer.hpp @@ -0,0 +1,43 @@ +// +// 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_HPP +#define BOOST_BEAST_IMPL_FLAT_STATIC_BUFFER_HPP + +namespace boost { +namespace beast { + +template<std::size_t N> +flat_static_buffer<N>:: +flat_static_buffer( + flat_static_buffer const& other) + : flat_static_buffer_base(buf_, N) +{ + this->commit(net::buffer_copy( + this->prepare(other.size()), other.data())); +} + +template<std::size_t N> +auto +flat_static_buffer<N>:: +operator=(flat_static_buffer const& other) -> + flat_static_buffer<N>& +{ + if(this == &other) + return *this; + this->consume(this->size()); + this->commit(net::buffer_copy( + this->prepare(other.size()), other.data())); + return *this; +} + +} // beast +} // boost + +#endif
\ No newline at end of file |