...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::log::record — Logging record class.
// In header: <boost/log/core/record.hpp> class record { public: // public member functions record() noexcept; record(record &&) noexcept; ~record() noexcept; record & operator=(record &&) noexcept; attribute_value_set & attribute_values() noexcept; attribute_value_set const & attribute_values() const noexcept; explicit operator bool() const noexcept; bool operator!() const noexcept; void swap(record &) noexcept; void reset() noexcept; attribute_value_set::mapped_type operator[](attribute_value_set::key_type) const; template<typename DescriptorT, template< typename > class ActorT> result_of::extract< typenameexpressions::attribute_keyword< DescriptorT, ActorT >::value_type, DescriptorT >::type operator[](expressions::attribute_keyword< DescriptorT, ActorT > const &) const; record_view lock(); };
The logging record encapsulates all information related to a single logging statement, in particular, attribute values view and the log message string. The record can be updated before pushing for further processing to the logging core.
record
public member functionsrecord() noexcept;
Default constructor. Creates an empty record that is equivalent to the invalid record handle.
Postconditions: |
|
record(record && that) noexcept;
Move constructor. Source record contents unspecified after the operation.
~record() noexcept;
Destructor. Destroys the record, releases any sinks and attribute values that were involved in processing this record.
record & operator=(record && that) noexcept;
Move assignment. Source record contents unspecified after the operation.
attribute_value_set & attribute_values() noexcept;
Requires: |
|
Returns: |
A reference to the set of attribute values attached to this record |
attribute_value_set const & attribute_values() const noexcept;
Requires: |
|
Returns: |
A reference to the set of attribute values attached to this record |
explicit operator bool() const noexcept;
Conversion to an unspecified boolean type
Returns: |
|
bool operator!() const noexcept;
Inverted conversion to an unspecified boolean type
Returns: |
|
void swap(record & that) noexcept;
Swaps two handles
Parameters: |
|
void reset() noexcept;
Resets the log record handle. If there are no other handles left, the log record is closed and all resources referenced by the record are released.
Postconditions: |
|
attribute_value_set::mapped_type operator[](attribute_value_set::key_type name) const;
Attribute value lookup.
Parameters: |
|
||
Returns: |
An |
template<typename DescriptorT, template< typename > class ActorT> result_of::extract< typenameexpressions::attribute_keyword< DescriptorT, ActorT >::value_type, DescriptorT >::type operator[](expressions::attribute_keyword< DescriptorT, ActorT > const & keyword) const;
Attribute value lookup.
Parameters: |
|
||
Returns: |
A |
record_view lock();
The function ensures that the log record does not depend on any thread-specific data. Then the record contents are used to construct a record_view
which is returned from the function. The record is no longer valid after the call.
Requires: |
|
Postconditions: |
|
Returns: |
The record view that contains all attribute values from the original record. |