Line data Source code
1 : // 2 : // Copyright (c) 2021 Vinnie Falco (vinnie.falco@gmail.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 : #include <boost/http_proto/fields.hpp> 11 : #include <boost/http_proto/fields_view.hpp> 12 : #include <string> 13 : 14 : namespace boost { 15 : namespace http_proto { 16 : 17 22 : fields:: 18 22 : fields() noexcept 19 : : fields_view_base( 20 22 : &this->fields_base::h_) 21 : , fields_base( 22 22 : detail::kind::fields) 23 : { 24 22 : } 25 : 26 201 : fields:: 27 : fields( 28 201 : core::string_view s) noexcept 29 : : fields_view_base( 30 201 : &this->fields_base::h_) 31 : , fields_base( 32 201 : detail::kind::fields, s) 33 : { 34 201 : } 35 : 36 5 : fields:: 37 : fields( 38 5 : fields&& other) noexcept 39 : : fields_view_base( 40 5 : &this->fields_base::h_) 41 5 : , fields_base(other.h_.kind) 42 : { 43 5 : swap(other); 44 5 : } 45 : 46 2 : fields:: 47 : fields( 48 2 : fields const& other) 49 : : fields_view_base( 50 2 : &this->fields_base::h_) 51 2 : , fields_base(*other.ph_) 52 : { 53 2 : } 54 : 55 2 : fields:: 56 : fields( 57 2 : fields_view const& other) 58 : : fields_view_base( 59 2 : &this->fields_base::h_) 60 2 : , fields_base(*other.ph_) 61 : { 62 2 : } 63 : 64 : fields& 65 3 : fields:: 66 : operator=( 67 : fields&& other) noexcept 68 : { 69 3 : fields tmp(std::move(other)); 70 3 : tmp.swap(*this); 71 3 : return *this; 72 : } 73 : 74 : } // http_proto 75 : } // boost