Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This is an older version of Boost and was released in 2024. The current version is 1.90.0.
boost::log::attribute_value::impl — A base class for an attribute value implementation.
// In header: <boost/log/attributes/attribute_value.hpp> // A base class for an attribute value implementation. struct impl : public attribute::impl { // public member functions virtual bool dispatch(type_dispatcher &) = 0; virtual intrusive_ptr< impl > detach_from_thread(); virtual attribute_value get_value(); virtual typeindex::type_index get_type() const; };
All attribute value holders should derive from this interface.
impl public member functionsvirtual bool dispatch(type_dispatcher & dispatcher) = 0;
The method dispatches the value to the given object.
Parameters: |
|
||
Returns: |
true if dispatcher was capable to consume the real attribute value type and false otherwise. |
virtual intrusive_ptr< impl > detach_from_thread();
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. |
virtual attribute_value get_value();
Returns: |
The attribute value that refers to self implementation. |
virtual typeindex::type_index get_type() const;
Returns: |
The attribute value type |