LCOV - code coverage report
Current view: top level - libs/http_proto/src - fields.cpp (source / functions) Hit Total Coverage
Test: coverage_filtered.info Lines: 39 39 100.0 %
Date: 2024-03-18 23:12:48 Functions: 8 15 53.3 %

          Line data    Source code
       1             : //
       2             : // Copyright (c) 2021 Vinnie Falco (vinnie.falco@gmail.com)
       3             : // Copyright (c) 2024 Christian Mazakas
       4             : //
       5             : // Distributed under the Boost Software License, Version 1.0. (See accompanying
       6             : // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       7             : //
       8             : // Official repository: https://github.com/cppalliance/http_proto
       9             : //
      10             : 
      11             : #include <boost/http_proto/fields.hpp>
      12             : #include <boost/http_proto/fields_base.hpp>       // for fields_base
      13             : #include <boost/http_proto/fields_view.hpp>       // for fields_view
      14             : #include <boost/http_proto/fields_view_base.hpp>  // for fields_view_base
      15             : #include <boost/core/detail/string_view.hpp>      // for string_view
      16             : #include <utility>                                // for move
      17             : 
      18             : namespace boost {
      19             : namespace http_proto {
      20             : 
      21          22 : fields::
      22          22 : fields() noexcept
      23             :     : fields_view_base(
      24          22 :         &this->fields_base::h_)
      25             :     , fields_base(
      26          22 :         detail::kind::fields)
      27             : {
      28          22 : }
      29             : 
      30         241 : fields::
      31             : fields(
      32         241 :     core::string_view s)
      33             :     : fields_view_base(
      34         241 :         &this->fields_base::h_)
      35             :     , fields_base(
      36         241 :         detail::kind::fields, s)
      37             : {
      38         240 : }
      39             : 
      40           4 : fields::
      41             : fields(
      42           4 :     std::size_t initial_size)
      43             :     : fields(
      44           4 :         initial_size, initial_size)
      45             : {
      46           4 : }
      47             : 
      48           9 : fields::
      49             : fields(
      50             :     std::size_t initial_size,
      51           9 :     std::size_t max_size)
      52           9 :     : fields_view_base(&this->fields_base::h_)
      53             :     , fields_base(
      54           9 :         detail::kind::fields, initial_size, max_size)
      55             : {
      56           9 : }
      57             : 
      58           6 : fields::
      59             : fields(
      60           6 :     fields&& other) noexcept
      61             :     : fields_view_base(
      62           6 :         &this->fields_base::h_)
      63           6 :     , fields_base(other.h_.kind)
      64             : {
      65           6 :     swap(other);
      66           6 : }
      67             : 
      68           2 : fields::
      69             : fields(
      70           2 :     fields const& other)
      71             :     : fields_view_base(
      72           2 :         &this->fields_base::h_)
      73           2 :     , fields_base(*other.ph_)
      74             : {
      75           2 : }
      76             : 
      77           2 : fields::
      78             : fields(
      79           2 :     fields_view const& other)
      80             :     : fields_view_base(
      81           2 :         &this->fields_base::h_)
      82           2 :     , fields_base(*other.ph_)
      83             : {
      84           2 : }
      85             : 
      86             : fields&
      87           4 : fields::
      88             : operator=(
      89             :     fields&& other) noexcept
      90             : {
      91           4 :     fields tmp(std::move(other));
      92           4 :     tmp.swap(*this);
      93           4 :     return *this;
      94             : }
      95             : 
      96             : } // http_proto
      97             : } // boost

Generated by: LCOV version 1.15