Line data Source code
1 : // 2 : // Copyright (c) 2021 Vinnie Falco (vinnie dot falco at gmail dot com) 3 : // 4 : // Distributed under the Boost Software License, Version 1.0. (See accompanying 5 : // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 6 : // 7 : // Official repository: https://github.com/CPPAlliance/http_proto 8 : // 9 : 10 : #ifndef BOOST_HTTP_PROTO_IMPL_FIELDS_IPP 11 : #define BOOST_HTTP_PROTO_IMPL_FIELDS_IPP 12 : 13 : #include <boost/http_proto/fields.hpp> 14 : #include <boost/http_proto/fields_view.hpp> 15 : #include <string> 16 : 17 : namespace boost { 18 : namespace http_proto { 19 : 20 147 : fields:: 21 147 : fields() noexcept 22 : : fields_view_base( 23 147 : &this->fields_base::h_) 24 : , fields_base( 25 147 : detail::kind::fields) 26 : { 27 147 : } 28 : 29 5 : fields:: 30 : fields( 31 5 : fields&& other) noexcept 32 : : fields_view_base( 33 5 : &this->fields_base::h_) 34 5 : , fields_base(other.h_.kind) 35 : { 36 5 : swap(other); 37 5 : } 38 : 39 2 : fields:: 40 : fields( 41 2 : fields const& other) 42 : : fields_view_base( 43 2 : &this->fields_base::h_) 44 2 : , fields_base(*other.ph_) 45 : { 46 2 : } 47 : 48 2 : fields:: 49 : fields( 50 2 : fields_view const& other) 51 : : fields_view_base( 52 2 : &this->fields_base::h_) 53 2 : , fields_base(*other.ph_) 54 : { 55 2 : } 56 : 57 : fields& 58 3 : fields:: 59 : operator=( 60 : fields&& other) noexcept 61 : { 62 3 : fields tmp(std::move(other)); 63 3 : tmp.swap(*this); 64 3 : return *this; 65 : } 66 : 67 : } // http_proto 68 : } // boost 69 : 70 : #endif