RESTinio
Public Member Functions | Private Attributes | List of all members
restinio::sync_chain::growable_size_chain_t< Extra_Data_Factory >::builder_t Class Reference

A builder of an instance of growable_size_chain. More...

#include <growable_size.hpp>

Public Member Functions

 builder_t ()
 
RESTINIO_NODISCARD std::unique_ptr< growable_size_chain_trelease () noexcept
 Stop adding of new handlers and acquire the chain instance. More...
 
template<typename Handler >
void add (Handler &&handler)
 Add a new handler to the chain. More...
 

Private Attributes

std::unique_ptr< growable_size_chain_tm_chain
 

Detailed Description

template<typename Extra_Data_Factory = no_extra_data_factory_t>
class restinio::sync_chain::growable_size_chain_t< Extra_Data_Factory >::builder_t

A builder of an instance of growable_size_chain.

Creates an empty instance of growable_size_chain_t in the constructor. That instance can be obtained by release() method.

Note
New handlers can be added to the chain by add() method until release() is called.
Attention
An instance of builder works like an unique_ptr: it will hold a nullptr after a call of release() method.
Since
v.0.6.13

Definition at line 183 of file growable_size.hpp.

Constructor & Destructor Documentation

◆ builder_t()

template<typename Extra_Data_Factory = no_extra_data_factory_t>
restinio::sync_chain::growable_size_chain_t< Extra_Data_Factory >::builder_t::builder_t ( )
inline

Definition at line 186 of file growable_size.hpp.

Member Function Documentation

◆ add()

template<typename Extra_Data_Factory = no_extra_data_factory_t>
template<typename Handler >
void restinio::sync_chain::growable_size_chain_t< Extra_Data_Factory >::builder_t::add ( Handler &&  handler)
inline

Add a new handler to the chain.

Definition at line 209 of file growable_size.hpp.

◆ release()

template<typename Extra_Data_Factory = no_extra_data_factory_t>
RESTINIO_NODISCARD std::unique_ptr< growable_size_chain_t > restinio::sync_chain::growable_size_chain_t< Extra_Data_Factory >::builder_t::release ( )
inlinenoexcept

Stop adding of new handlers and acquire the chain instance.

Note
The builder object should not be used after the calling of that method.

Definition at line 199 of file growable_size.hpp.

Member Data Documentation

◆ m_chain

template<typename Extra_Data_Factory = no_extra_data_factory_t>
std::unique_ptr< growable_size_chain_t > restinio::sync_chain::growable_size_chain_t< Extra_Data_Factory >::builder_t::m_chain
private

Definition at line 223 of file growable_size.hpp.


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