RESTinio
Loading...
Searching...
No Matches
restinio::impl::datasizeable_buf_t< Datasizeable > Class Template Referencefinal

User defined datasizable object. More...

#include <buffers.hpp>

Inheritance diagram for restinio::impl::datasizeable_buf_t< Datasizeable >:
restinio::impl::buf_iface_t restinio::impl::writable_base_t

Public Member Functions

 datasizeable_buf_t (Datasizeable buf)
 datasizeable_buf_t (datasizeable_buf_t &&) noexcept=default
An implementation of writable_base_t interface.
virtual asio_ns::const_buffer buffer () const override
 Get asio buf entity.
virtual void relocate_to (void *storage) override
 Move this buffer enitity to a given location.
An implementation of buf_iface_t interface.
See also
buf_iface_t
virtual std::size_t size () const override
 Get the size of a writable piece of data.
Public Member Functions inherited from restinio::impl::writable_base_t
 writable_base_t ()=default
 writable_base_t (const writable_base_t &)=default
 writable_base_t (writable_base_t &&)=default
writable_base_toperator= (const writable_base_t &)=delete
writable_base_toperator= (writable_base_t &&)=delete
virtual ~writable_base_t ()

Private Attributes

Datasizeable m_custom_buffer
 A datasizeable item that represents buffer.

Detailed Description

template<typename Datasizeable>
class restinio::impl::datasizeable_buf_t< Datasizeable >

User defined datasizable object.

Note
there is a limitation on how large a Datasizeable type can be. The limitation is checked with a following predicate:
datasizeable_buf_t(Datasizeable buf)
Definition buffers.hpp:213
constexpr std::size_t needed_storage_max_size
An of memory that is to be enough to hold any possible buffer entity.
Definition buffers.hpp:389

Definition at line 189 of file buffers.hpp.

Constructor & Destructor Documentation

◆ datasizeable_buf_t() [1/2]

template<typename Datasizeable>
restinio::impl::datasizeable_buf_t< Datasizeable >::datasizeable_buf_t ( Datasizeable buf)
inline

Definition at line 213 of file buffers.hpp.

◆ datasizeable_buf_t() [2/2]

template<typename Datasizeable>
restinio::impl::datasizeable_buf_t< Datasizeable >::datasizeable_buf_t ( datasizeable_buf_t< Datasizeable > && )
defaultnoexcept

Member Function Documentation

◆ buffer()

template<typename Datasizeable>
virtual asio_ns::const_buffer restinio::impl::datasizeable_buf_t< Datasizeable >::buffer ( ) const
inlineoverridevirtual

Get asio buf entity.

Prepares an item for being used with ASIO API.

Implements restinio::impl::buf_iface_t.

Definition at line 225 of file buffers.hpp.

◆ relocate_to()

template<typename Datasizeable>
virtual void restinio::impl::datasizeable_buf_t< Datasizeable >::relocate_to ( void * storage)
inlineoverridevirtual

Move this buffer enitity to a given location.

Note
storage must have a sufficient space and proper alignment.

Implements restinio::impl::writable_base_t.

Definition at line 232 of file buffers.hpp.

◆ size()

template<typename Datasizeable>
virtual std::size_t restinio::impl::datasizeable_buf_t< Datasizeable >::size ( ) const
inlineoverridevirtual

Get the size of a writable piece of data.

Implements restinio::impl::writable_base_t.

Definition at line 244 of file buffers.hpp.

Member Data Documentation

◆ m_custom_buffer

template<typename Datasizeable>
Datasizeable restinio::impl::datasizeable_buf_t< Datasizeable >::m_custom_buffer
private

A datasizeable item that represents buffer.

Definition at line 249 of file buffers.hpp.


The documentation for this class was generated from the following file: