MCPcopy Create free account
hub / github.com/alibaba/async_simple / mutable_registered_buffer

Class mutable_registered_buffer

demo_example/asio/asio/registered_buffer.hpp:84–155  ·  view source on GitHub ↗

Holds a registered buffer over modifiable data. * Satisfies the @c MutableBufferSequence type requirements. */

Source from the content-addressed store, hash-verified

82 * Satisfies the @c MutableBufferSequence type requirements.
83 */
84class mutable_registered_buffer
85{
86public:
87#if !defined(ASIO_HAS_DECLTYPE) \
88 && !defined(GENERATING_DOCUMENTATION)
89 typedef mutable_buffer value_type;
90#endif // !defined(ASIO_HAS_DECLTYPE)
91 // && !defined(GENERATING_DOCUMENTATION)
92
93 /// Default constructor creates an invalid registered buffer.
94 mutable_registered_buffer() ASIO_NOEXCEPT
95 : buffer_(),
96 id_()
97 {
98 }
99
100 /// Get the underlying mutable buffer.
101 const mutable_buffer& buffer() const ASIO_NOEXCEPT
102 {
103 return buffer_;
104 }
105
106 /// Get a pointer to the beginning of the memory range.
107 /**
108 * @returns <tt>buffer().data()</tt>.
109 */
110 void* data() const ASIO_NOEXCEPT
111 {
112 return buffer_.data();
113 }
114
115 /// Get the size of the memory range.
116 /**
117 * @returns <tt>buffer().size()</tt>.
118 */
119 std::size_t size() const ASIO_NOEXCEPT
120 {
121 return buffer_.size();
122 }
123
124 /// Get the registered buffer identifier.
125 const registered_buffer_id& id() const ASIO_NOEXCEPT
126 {
127 return id_;
128 }
129
130 /// Move the start of the buffer by the specified number of bytes.
131 mutable_registered_buffer& operator+=(std::size_t n) ASIO_NOEXCEPT
132 {
133 buffer_ += n;
134 return *this;
135 }
136
137private:
138 friend class detail::buffer_registration_base;
139
140 // Hidden constructor used by buffer registration and operators.
141 mutable_registered_buffer(const mutable_buffer& b,

Callers 2

bufferFunction · 0.70
make_bufferMethod · 0.70

Calls 2

dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected