GCC Code Coverage Report


Directory: libs/http_proto/
File: boost/http_proto/file_body.hpp
Date: 2024-03-19 15:22:01
Exec Total Coverage
Lines: 0 1 0.0%
Functions: 0 2 0.0%
Branches: 0 0 -%

Line Branch Exec Source
1 //
2 // Copyright (c) 2022 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 #ifndef BOOST_HTTP_PROTO_FILE_BODY_HPP
11 #define BOOST_HTTP_PROTO_FILE_BODY_HPP
12
13 #include <boost/http_proto/detail/config.hpp>
14 #include <boost/http_proto/file.hpp>
15 #include <boost/http_proto/serializer.hpp>
16 #include <cstdint>
17
18 namespace boost {
19 namespace http_proto {
20
21 class BOOST_SYMBOL_VISIBLE
22 file_body
23 : public serializer::source
24 {
25 file f_;
26 std::uint64_t n_;
27
28 public:
29 file_body() = delete;
30 file_body(
31 file_body const&) = delete;
32
33 BOOST_HTTP_PROTO_DECL
34 file_body(
35 file_body&&) noexcept;
36
37 BOOST_HTTP_PROTO_DECL
38 ~file_body();
39
40 BOOST_HTTP_PROTO_DECL
41 explicit
42 file_body(
43 file&& f,
44 std::uint64_t size =
45 std::uint64_t(-1)) noexcept;
46
47 private:
48 BOOST_HTTP_PROTO_DECL
49 results
50 on_read(
51 buffers::mutable_buffer b) override;
52 };
53
54 } // http_proto
55 } // boost
56
57 #endif
58