Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::attribute_value::impl Struct Referenceabstract

A base class for an attribute value implementation. More...

#include <attribute_value.hpp>

Inheritance diagram for boost::attribute_value::impl:
Collaboration diagram for boost::attribute_value::impl:

Public Member Functions

virtual bool dispatch (type_dispatcher &dispatcher)=0
 The method dispatches the value to the given object. More...
 
virtual intrusive_ptr< impldetach_from_thread ()
 The method is called when the attribute value is passed to another thread (e.g. More...
 
virtual attribute_value get_value ()
 
virtual type_info_wrapper get_type () const
 

Static Public Member Functions

static BOOST_LOG_API void * operator new (std::size_t size)
 
static BOOST_LOG_API void operator delete (void *p, std::size_t size) BOOST_NOEXCEPT
 

Detailed Description

A base class for an attribute value implementation.

All attribute value holders should derive from this interface.

Member Function Documentation

virtual intrusive_ptr< impl > boost::attribute_value::impl::detach_from_thread ( )
inlinevirtual

The method is called when the attribute value is passed to another thread (e.g.

in case of asynchronous logging). The value should ensure it properly owns all thread-specific data.

Returns
An actual pointer to the attribute value. It may either point to this object or another. In the latter case the returned pointer replaces the pointer used by caller to invoke this method and is considered to be a functional equivalent to the previous pointer.

Reimplemented in boost::sources::aux::severity_level< LevelT >::impl, and boost::attributes::current_thread_id::impl.

Referenced by boost::attribute_value::detach_from_thread().

virtual bool boost::attribute_value::impl::dispatch ( type_dispatcher dispatcher)
pure virtual

The method dispatches the value to the given object.

Parameters
dispatcherThe object that attempts to dispatch the stored value.
Returns
true if dispatcher was capable to consume the real attribute value type and false otherwise.

Implemented in boost::attributes::attribute_value_impl< T >, boost::attributes::attribute_value_impl< value_type >, boost::sources::aux::severity_level< LevelT >::impl, and boost::attributes::current_thread_id::impl.

Referenced by boost::attribute_value::dispatch().

virtual type_info_wrapper boost::attribute_value::impl::get_type ( ) const
inlinevirtual
virtual attribute_value boost::attribute_value::impl::get_value ( )
inlinevirtual
Returns
The attribute value that refers to self implementation.

Implements boost::attribute::impl.

References boost::attribute_value::attribute_value().

static BOOST_LOG_API void boost::attribute::impl::operator delete ( void *  p,
std::size_t  size 
)
staticinherited
static BOOST_LOG_API void* boost::attribute::impl::operator new ( std::size_t  size)
staticinherited

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