GCC Code Coverage Report


Directory: ./
File: libs/buffers/include/boost/buffers/make_buffer.hpp
Date: 2025-12-06 02:12:43
Exec Total Coverage
Lines: 14 14 100.0%
Functions: 6 6 100.0%
Branches: 0 0 -%

Line Branch Exec Source
1 //
2 // Copyright (c) 2023 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/buffers
8 //
9
10 #ifndef BOOST_BUFFERS_MAKE_BUFFER_HPP
11 #define BOOST_BUFFERS_MAKE_BUFFER_HPP
12
13 #include <boost/buffers/detail/config.hpp>
14 #include <boost/buffers/buffer.hpp>
15 #include <cstdlib>
16 #include <type_traits>
17
18 #ifdef _MSC_VER
19 #pragma warning(push)
20 #pragma warning(disable: 4459)
21 #endif
22
23 namespace boost {
24 namespace buffers {
25
26 /** Return a buffer.
27 */
28 inline
29 mutable_buffer
30 1 make_buffer(
31 mutable_buffer const& b) noexcept
32 {
33 1 return b;
34 }
35
36 /** Return a buffer.
37 */
38 inline
39 mutable_buffer
40 1 make_buffer(
41 void* data,
42 std::size_t size) noexcept
43 {
44 1 return mutable_buffer(data, size);
45 }
46
47 /** Return a buffer.
48 */
49 inline
50 const_buffer
51 1 make_buffer(
52 const_buffer const& b) noexcept
53 {
54 1 return b;
55 }
56
57 /** Return a buffer.
58 */
59 inline
60 const_buffer
61 16419 make_buffer(
62 void const* data,
63 std::size_t size) noexcept
64 {
65 16419 return const_buffer(data, size);
66 }
67
68 /** Return a buffer.
69 */
70 template<
71 class T, std::size_t N
72 , class = typename std::enable_if<
73 std::is_trivially_copyable<T>::value>::type
74 >
75 mutable_buffer
76 1 make_buffer(
77 T (&data)[N]) noexcept
78 {
79 1 return mutable_buffer(
80 1 data, N * sizeof(T));
81 }
82
83 /** Return a buffer.
84 */
85 template<
86 class T, std::size_t N
87 , class = typename std::enable_if<
88 std::is_trivially_copyable<T>::value>::type
89 >
90 const_buffer
91 1 make_buffer(
92 T const (&data)[N]) noexcept
93 {
94 1 return const_buffer(
95 1 data, N * sizeof(T));
96 }
97
98 } // buffers
99 } // boost
100
101 #ifdef _MSC_VER
102 #pragma warning(pop)
103 #endif
104
105 #endif
106