<?xml version="1.0" standalone="yes"?>
<library-reference id="core_components"><title>Core components</title><header id="doxygen.core_components.core_8hpp" name="boost/log/core/core.hpp">
<para><para>Andrey Semashev </para>

<para>19.04.2007</para>

This header contains logging core class definition. </para><namespace name="boost">
<namespace name="log">
<class id="doxygen.core_components.classboost_1_1log_1_1core" name="core"><purpose>Logging library core class. </purpose><description><para>The logging core is used to interconnect log sources and sinks. It also provides a number of basic features, like global filtering and global and thread-specific attribute storage.</para><para>The logging core is a singleton. Users can acquire the core instance by calling the static method <computeroutput>get</computeroutput>. </para></description><typedef id="doxygen.core_components.classboost_1_1log_1_1core_1a72d6ce5d5f1a9808d74aaf03dbf8d05f" name="exception_handler_type"><purpose>Exception handler function type. </purpose><type><emphasis>unspecified</emphasis></type></typedef>
<method-group name="public member functions">
<destructor id="doxygen.core_components.classboost_1_1log_1_1core_1ad58f4436461add5f683b7eec8d4423ae"><description><para>Destructor. Destroys the core, releases any sinks and attributes that were registered. </para></description></destructor>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a56525784fee8b6acecd07b3b0b04ba34" name="set_logging_enabled"><type>bool</type><parameter name="enabled"><paramtype>bool</paramtype><default>true</default><description><para>The actual flag of logging activity. </para></description></parameter><description><para>The method enables or disables logging.</para><para>Setting this status to <computeroutput>false</computeroutput> allows you to completely wipe out any logging activity, including filtering and generation of attribute values. It is useful if you want to completely disable logging in a running application. The state of logging does not alter any other properties of the logging library, such as filters or sinks, so you can enable logging with the very same settings that you had when the logging was disabled. This feature may also be useful if you want to perform major changes to logging configuration and don't want your application to block on opening or pushing a log record.</para><para>By default logging is enabled.</para><para>

</para></description><returns><para>The previous value of enabled/disabled logging flag </para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a443ac5e65676bc1d043c19cd3c0b28a0" name="get_logging_enabled" cv="const"><type>bool</type><description><para>The method allows to detect if logging is enabled. See the comment for <computeroutput>set_logging_enabled</computeroutput>. </para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a2628c05e2d080cdf2947546038e70442" name="set_filter"><type>void</type><parameter name="filter"><paramtype>filter const &amp;</paramtype><description><para>The filter function object to be installed. </para></description></parameter><description><para>The method sets the global logging filter. The filter is applied to every log record that is processed.</para><para>
</para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a8e76f8a1de2a950c90946a4c88b40b03" name="reset_filter"><type>void</type><description><para>The method removes the global logging filter. All log records are passed to sinks without global filtering applied. </para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a8a25e5d34d48e8cbafeba1df29fef4e6" name="add_sink"><type>void</type><parameter name="s"><paramtype>shared_ptr&lt; sinks::sink &gt; const &amp;</paramtype><description><para>The sink to be registered. </para></description></parameter><description><para>The method adds a new sink. The sink is included into logging process immediately after being added and until being removed. No sink can be added more than once at the same time. If the sink is already registered, the call is ignored.</para><para>
</para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a662a62a16e5d7451e0a50faceea019f1" name="remove_sink"><type>void</type><parameter name="s"><paramtype>shared_ptr&lt; sinks::sink &gt; const &amp;</paramtype><description><para>The sink to be unregistered. </para></description></parameter><description><para>The method removes the sink from the output. The sink will not receive any log records after removal. The call has no effect if the sink is not registered.</para><para>
</para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a0b3b2d77127733024c8a2d68d6b64cf8" name="remove_all_sinks"><type>void</type><description><para>The method removes all registered sinks from the output. The sinks will not receive any log records after removal. </para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1adac116554b543b7c4228c018a85882f5" name="flush"><type>void</type><description><para>The method performs flush on all registered sinks.</para><para><note><para>This method may take long time to complete as it may block until all sinks manage to process all buffered log records. The call will also block all logging attempts until the operation completes. </para>
</note>
</para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1afd9d034df970c0af156c44a8086570e2" name="add_global_attribute"><type>std::pair&lt; attribute_set::iterator, bool &gt;</type><parameter name="name"><paramtype>attribute_name const &amp;</paramtype><description><para>The attribute name. </para></description></parameter><parameter name="attr"><paramtype>attribute const &amp;</paramtype><description><para>The attribute factory. </para></description></parameter><description><para>The method adds an attribute to the global attribute set. The attribute will be implicitly added to every log record.</para><para>

</para></description><returns><para>A pair of values. If the second member is <computeroutput>true</computeroutput>, then the attribute is added and the first member points to the attribute. Otherwise the attribute was not added and the first member points to the attribute that prevents addition. </para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1ad22c0592a061325f5234e08be443fe52" name="remove_global_attribute"><type>void</type><parameter name="it"><paramtype>attribute_set::iterator</paramtype><description><para>Iterator to the previously added attribute. </para></description></parameter><description><para>The method removes an attribute from the global attribute set.</para><para>


</para></description><requires><para>The attribute was added with the <computeroutput>add_global_attribute</computeroutput> call. </para>
</requires><postconditions><para>The attribute is no longer registered as a global attribute. The iterator is invalidated after removal.</para>
</postconditions></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1ae90a2e020d02dfda8e5aa3b90a80d0c8" name="get_global_attributes" cv="const"><type>attribute_set</type><description><para>The method returns a copy of the complete set of currently registered global attributes. </para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a5360044dfb6248b2207c1572f9f80940" name="set_global_attributes"><type>void</type><parameter name="attrs"><paramtype>attribute_set const &amp;</paramtype><description><para>The set of attributes to be installed. </para></description></parameter><description><para>The method replaces the complete set of currently registered global attributes with the provided set.</para><para><note><para>The method invalidates all iterators and references that may have been returned from the <computeroutput>add_global_attribute</computeroutput> method.</para>
</note>

</para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1af2145cb3ea6b33c9370797690627c97f" name="add_thread_attribute"><type>std::pair&lt; attribute_set::iterator, bool &gt;</type><parameter name="name"><paramtype>attribute_name const &amp;</paramtype><description><para>The attribute name. </para></description></parameter><parameter name="attr"><paramtype>attribute const &amp;</paramtype><description><para>The attribute factory. </para></description></parameter><description><para>The method adds an attribute to the thread-specific attribute set. The attribute will be implicitly added to every log record made in the current thread.</para><para><note><para>In single-threaded build the effect is the same as adding the attribute globally. This, however, does not imply that iterators to thread-specific and global attributes are interchangeable.</para>
</note>


</para></description><returns><para>A pair of values. If the second member is <computeroutput>true</computeroutput>, then the attribute is added and the first member points to the attribute. Otherwise the attribute was not added and the first member points to the attribute that prevents addition. </para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a4dfad9f41bc53c58e988f9172c09bc0e" name="remove_thread_attribute"><type>void</type><parameter name="it"><paramtype>attribute_set::iterator</paramtype><description><para>Iterator to the previously added attribute. </para></description></parameter><description><para>The method removes an attribute from the thread-specific attribute set.</para><para>


</para></description><requires><para>The attribute was added with the <computeroutput>add_thread_attribute</computeroutput> call. </para>
</requires><postconditions><para>The attribute is no longer registered as a thread-specific attribute. The iterator is invalidated after removal.</para>
</postconditions></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a1c57272b73e96300695ae3cbaef45c80" name="get_thread_attributes" cv="const"><type>attribute_set</type><description><para>The method returns a copy of the complete set of currently registered thread-specific attributes. </para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1ac301313ee89f92dfaa39141df01c78d6" name="set_thread_attributes"><type>void</type><parameter name="attrs"><paramtype>attribute_set const &amp;</paramtype><description><para>The set of attributes to be installed. </para></description></parameter><description><para>The method replaces the complete set of currently registered thread-specific attributes with the provided set.</para><para><note><para>The method invalidates all iterators and references that may have been returned from the <computeroutput>add_thread_attribute</computeroutput> method.</para>
</note>

</para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a59b7c55916902f78073911bf55aba9d4" name="set_exception_handler"><type>void</type><parameter name="handler"><paramtype>exception_handler_type const &amp;</paramtype><description><para>Exception handling function</para></description></parameter><description><para>The method sets exception handler function. The function will be called with no arguments in case if an exception occurs during either <computeroutput>open_record</computeroutput> or <computeroutput>push_record</computeroutput> method execution. Since exception handler is called from a <computeroutput>catch</computeroutput> statement, the exception can be rethrown in order to determine its type.</para><para>By default no handler is installed, thus any exception is propagated as usual.</para><para><formalpara><title>See Also:</title><para>See also: <computeroutput>utility/exception_handler.hpp</computeroutput> </para>
</formalpara>

<note><para>The exception handler can be invoked in several threads concurrently. Thread interruptions are not affected by exception handlers. </para>
</note>
</para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a0cd5b9227b0d736d36cf0afd378672cb" name="open_record"><type><classname>record</classname></type><parameter name="source_attributes"><paramtype>attribute_set const &amp;</paramtype><description><para>The set of source-specific attributes to be attached to the record to be opened. </para></description></parameter><description><para>The method attempts to open a new record to be written. While attempting to open a log record all filtering is applied. A successfully opened record can be pushed further to sinks by calling the <computeroutput>push_record</computeroutput> method or simply destroyed by destroying the returned object.</para><para>More than one open records are allowed, such records exist independently. All attribute values are acquired during opening the record and do not interact between records.</para><para>The returned records can be copied, however, they must not be passed between different threads.</para><para>

<emphasis role="bold">Throws:</emphasis> If an exception handler is installed, only throws if the handler throws. Otherwise may throw if one of the sinks throws, or some system resource limitation is reached. </para></description><returns><para>A valid log record if the record is opened, an invalid record object if not (e.g. because it didn't pass filtering).</para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a036aa8e3d0e5108c5f46ae672dbe1c05" name="open_record"><type><classname>record</classname></type><parameter name="source_attributes"><paramtype>attribute_value_set const &amp;</paramtype><description><para>The set of source-specific attribute values to be attached to the record to be opened. </para></description></parameter><description><para>The method attempts to open a new record to be written. While attempting to open a log record all filtering is applied. A successfully opened record can be pushed further to sinks by calling the <computeroutput>push_record</computeroutput> method or simply destroyed by destroying the returned object.</para><para>More than one open records are allowed, such records exist independently. All attribute values are acquired during opening the record and do not interact between records.</para><para>The returned records can be copied, however, they must not be passed between different threads.</para><para>

<emphasis role="bold">Throws:</emphasis> If an exception handler is installed, only throws if the handler throws. Otherwise may throw if one of the sinks throws, or some system resource limitation is reached. </para></description><returns><para>A valid log record if the record is opened, an invalid record object if not (e.g. because it didn't pass filtering).</para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a84f6f435801dc20b7c95474ab099caca" name="open_record"><type><classname>record</classname></type><parameter name="source_attributes"><paramtype>attribute_value_set &amp;&amp;</paramtype><description><para>The set of source-specific attribute values to be attached to the record to be opened. The contents of this container are unspecified after this call. </para></description></parameter><description><para>The method attempts to open a new record to be written. While attempting to open a log record all filtering is applied. A successfully opened record can be pushed further to sinks by calling the <computeroutput>push_record</computeroutput> method or simply destroyed by destroying the returned object.</para><para>More than one open records are allowed, such records exist independently. All attribute values are acquired during opening the record and do not interact between records.</para><para>The returned records can be copied, however, they must not be passed between different threads.</para><para>

<emphasis role="bold">Throws:</emphasis> If an exception handler is installed, only throws if the handler throws. Otherwise may throw if one of the sinks throws, or some system resource limitation is reached. </para></description><returns><para>A valid log record if the record is opened, an invalid record object if not (e.g. because it didn't pass filtering).</para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1core_1ab632f9ee54f83619cc4bb5b8098ae7ac" name="push_record"><type>void</type><parameter name="rec"><paramtype><classname>record</classname> &amp;&amp;</paramtype><description><para>A previously successfully opened log record.</para></description></parameter><description><para>The method pushes the record to sinks. The record is moved from in the process.</para><para>


<emphasis role="bold">Throws:</emphasis> If an exception handler is installed, only throws if the handler throws. Otherwise may throw if one of the sinks throws. </para></description><requires><para><computeroutput>!!rec == true</computeroutput> </para>
</requires><postconditions><para><computeroutput>!rec == true</computeroutput> </para>
</postconditions></method>
<constructor id="doxygen.core_components.classboost_1_1log_1_1core_1a1e31c828678349b931b7441002e22ba1" cv="= delete"><parameter name=""><paramtype><classname>core</classname> const &amp;</paramtype></parameter></constructor>
<copy-assignment id="doxygen.core_components.classboost_1_1log_1_1core_1aa6df550bc9b7a8eba0c7d8f128e1aeb9" cv="= delete"><type><classname>core</classname> &amp;</type><parameter name=""><paramtype><classname>core</classname> const &amp;</paramtype></parameter></copy-assignment>
</method-group>
<method-group name="public static functions">
<method id="doxygen.core_components.classboost_1_1log_1_1core_1a3877b5588bdb5254e8906d8e8ac674d7" name="get" specifiers="static"><type>core_ptr</type><description><para>
</para></description><returns><para>The method returns a pointer to the logging core singleton instance. </para>
</returns></method>
</method-group>
</class><typedef id="doxygen.core_components.core_8hpp_1a27c3d5eb191f487a7fa44460ca4e31cd" name="core_ptr"><type>shared_ptr&lt; <classname>core</classname> &gt;</type></typedef>


</namespace>
</namespace>
</header>
<header id="doxygen.core_components.record_8hpp" name="boost/log/core/record.hpp">
<para><para>Andrey Semashev </para>

<para>09.03.2009</para>

This header contains a logging record class definition. </para><namespace name="boost">
<namespace name="log">
<class id="doxygen.core_components.classboost_1_1log_1_1record" name="record"><purpose>Logging record class. </purpose><description><para>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. </para></description><method-group name="public member functions">
<constructor id="doxygen.core_components.classboost_1_1log_1_1record_1ac819c085cbb91358ea9be0fa7147aba1" cv="noexcept"><description><para>Default constructor. Creates an empty record that is equivalent to the invalid record handle.</para><para>
</para></description><postconditions><para><computeroutput>!*this == true</computeroutput> </para>
</postconditions></constructor>
<constructor id="doxygen.core_components.classboost_1_1log_1_1record_1acdae07f6faaf24eb2e9455db8963377a" cv="noexcept"><parameter name="that"><paramtype><classname>record</classname> &amp;&amp;</paramtype></parameter><description><para>Move constructor. Source record contents unspecified after the operation. </para></description></constructor>
<destructor id="doxygen.core_components.classboost_1_1log_1_1record_1ad78bb04178aad182cf21b8bc19235f07" cv="noexcept"><description><para>Destructor. Destroys the record, releases any sinks and attribute values that were involved in processing this record. </para></description></destructor>
<copy-assignment id="doxygen.core_components.classboost_1_1log_1_1record_1aa0f12b51a60b157f44a0f56b864cbeb1" cv="noexcept"><type><classname>record</classname> &amp;</type><parameter name="that"><paramtype><classname>record</classname> &amp;&amp;</paramtype></parameter><description><para>Move assignment. Source record contents unspecified after the operation. </para></description></copy-assignment>
<method id="doxygen.core_components.classboost_1_1log_1_1record_1acf42e47c70817f5895858a3db01f95fd" name="attribute_values" cv="noexcept"><type>attribute_value_set &amp;</type><description><para>

</para></description><requires><para><computeroutput>!!*this</computeroutput> </para>
</requires><returns><para>A reference to the set of attribute values attached to this record</para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record_1a73320dba7a9eaff1b5e87d88f6ba78e0" name="attribute_values" cv="const noexcept"><type>attribute_value_set const &amp;</type><description><para>

</para></description><requires><para><computeroutput>!!*this</computeroutput> </para>
</requires><returns><para>A reference to the set of attribute values attached to this record</para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record_1a420e60e9788bfa3b52aa3aab72ea3a5e" name="conversion-operator" cv="const noexcept" specifiers="explicit"><type>bool</type><description><para>Conversion to an unspecified boolean type</para><para>
</para></description><returns><para><computeroutput>true</computeroutput>, if the <computeroutput>*this</computeroutput> identifies a log record, <computeroutput>false</computeroutput>, if the <computeroutput>*this</computeroutput> is not valid </para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record_1aa781ac6ac5a122ef2e89325c84d51f5a" name="operator!" cv="const noexcept"><type>bool</type><description><para>Inverted conversion to an unspecified boolean type</para><para>
</para></description><returns><para><computeroutput>false</computeroutput>, if the <computeroutput>*this</computeroutput> identifies a log record, <computeroutput>true</computeroutput>, if the <computeroutput>*this</computeroutput> is not valid </para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record_1a415506f235d6f3eedc0c76c61d59af9a" name="swap" cv="noexcept"><type>void</type><parameter name="that"><paramtype><classname>record</classname> &amp;</paramtype><description><para>Another record to swap with <emphasis role="bold">Throws:</emphasis> Nothing </para></description></parameter><description><para>Swaps two handles</para><para>
</para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record_1a20194325f0380eb3bbc6bc6c8b2697d9" name="reset" cv="noexcept"><type>void</type><description><para>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.</para><para>
</para></description><postconditions><para><computeroutput>!*this == true</computeroutput> </para>
</postconditions></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record_1a7e9034a34c20c042f4f2a041ecbbba5f" name="operator[]" cv="const"><type>attribute_value_set::mapped_type</type><parameter name="name"><paramtype>attribute_value_set::key_type</paramtype><description><para>Attribute name. </para></description></parameter><description><para>Attribute value lookup.</para><para>

</para></description><returns><para>An <computeroutput>attribute_value</computeroutput>, non-empty if it is found, empty otherwise. </para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record_1a014af019abe0981714090208d3faf787" name="operator[]" cv="const"><type>result_of::extract&lt; typenameexpressions::attribute_keyword&lt; DescriptorT, ActorT &gt;::value_type, DescriptorT &gt;::type</type><template>
          <template-type-parameter name="DescriptorT"/>
          <template-nontype-parameter name="ActorT"><type>template&lt; typename &gt; class</type></template-nontype-parameter>
        </template><parameter name="keyword"><paramtype>expressions::attribute_keyword&lt; DescriptorT, ActorT &gt; const &amp;</paramtype><description><para>Attribute keyword. </para></description></parameter><description><para>Attribute value lookup.</para><para>

</para></description><returns><para>A <computeroutput>value_ref</computeroutput> with extracted attribute value if it is found, empty <computeroutput>value_ref</computeroutput> otherwise. </para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record_1a64527122ffb153947a6d714111b0787d" name="lock"><type><classname>record_view</classname></type><description><para>The function ensures that the log record does not depend on any thread-specific data. Then the record contents are used to construct a <computeroutput><link linkend="doxygen.core_components.classboost_1_1log_1_1record__view">record_view</link></computeroutput> which is returned from the function. The record is no longer valid after the call.</para><para>


</para></description><requires><para><computeroutput>!!*this</computeroutput> </para>
</requires><postconditions><para><computeroutput>!*this</computeroutput> </para>
</postconditions><returns><para>The record view that contains all attribute values from the original record. </para>
</returns></method>
</method-group>
</class>
<function id="doxygen.core_components.record_8hpp_1a14df521637e2f207cf0b473bd94711b3" name="swap"><type>void</type><parameter name="left"><paramtype><classname>record</classname> &amp;</paramtype></parameter><parameter name="right"><paramtype><classname>record</classname> &amp;</paramtype></parameter><description><para>A free-standing swap function overload for <computeroutput>record</computeroutput> </para></description></function>
</namespace>
</namespace>
</header>
<header id="doxygen.core_components.record__view_8hpp" name="boost/log/core/record_view.hpp">
<para><para>Andrey Semashev </para>

<para>09.03.2009</para>

This header contains a logging record view class definition. </para><namespace name="boost">
<namespace name="log">
<class id="doxygen.core_components.classboost_1_1log_1_1record__view" name="record_view"><purpose>Logging record view class. </purpose><description><para>The logging record encapsulates all information related to a single logging statement, in particular, attribute values view and the log message string. The view is immutable, it is implemented as a wrapper around a reference-counted implementation. </para></description><method-group name="public member functions">
<constructor id="doxygen.core_components.classboost_1_1log_1_1record__view_1a66d9b8cd4c0271175ffed055f0d28047"><description><para>Default constructor. Creates an empty record view that is equivalent to the invalid record handle.</para><para>
</para></description><postconditions><para><computeroutput>!*this == true</computeroutput> </para>
</postconditions></constructor>
<constructor id="doxygen.core_components.classboost_1_1log_1_1record__view_1a2331b6e5306f71f64d4c27c14f062dd8" cv="noexcept"><parameter name="that"><paramtype><classname>record_view</classname> const &amp;</paramtype></parameter><description><para>Copy constructor </para></description></constructor>
<constructor id="doxygen.core_components.classboost_1_1log_1_1record__view_1a5c43fcce277d1289eadeed554b45a4a3" cv="noexcept"><parameter name="that"><paramtype><classname>record_view</classname> &amp;&amp;</paramtype></parameter><description><para>Move constructor. Source record contents unspecified after the operation. </para></description></constructor>
<destructor id="doxygen.core_components.classboost_1_1log_1_1record__view_1a57ca66eb8bed992dc249a7f144ac13f1" cv="noexcept"><description><para>Destructor. Destroys the record, releases any sinks and attribute values that were involved in processing this record. </para></description></destructor>
<copy-assignment id="doxygen.core_components.classboost_1_1log_1_1record__view_1a9afc82c492f068f6312b27a5b3f1dec2" cv="noexcept"><type><classname>record_view</classname> &amp;</type><parameter name="that"><paramtype><classname>record_view</classname> const &amp;</paramtype></parameter><description><para>Copy assignment </para></description></copy-assignment>
<copy-assignment id="doxygen.core_components.classboost_1_1log_1_1record__view_1a07ba50112075da1585fff263716abc30" cv="noexcept"><type><classname>record_view</classname> &amp;</type><parameter name="that"><paramtype><classname>record_view</classname> &amp;&amp;</paramtype></parameter><description><para>Move assignment. Source record contents unspecified after the operation. </para></description></copy-assignment>
<method id="doxygen.core_components.classboost_1_1log_1_1record__view_1a73320dba7a9eaff1b5e87d88f6ba78e0" name="attribute_values" cv="const noexcept"><type>attribute_value_set const &amp;</type><description><para>

</para></description><requires><para><computeroutput>!!*this</computeroutput> </para>
</requires><returns><para>A reference to the set of attribute values attached to this record</para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record__view_1a6741cd8264831d7dacb3e1c0814e577a" name="operator==" cv="const noexcept"><type>bool</type><parameter name="that"><paramtype><classname>record_view</classname> const &amp;</paramtype><description><para>Comparand </para></description></parameter><description><para>Equality comparison</para><para>

</para></description><returns><para><computeroutput>true</computeroutput> if both <computeroutput>*this</computeroutput> and <emphasis>that</emphasis> identify the same log record or both do not identify any record, <computeroutput>false</computeroutput> otherwise. </para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record__view_1a853e53c8214ecce41af1ba2ebe4525f8" name="operator!=" cv="const noexcept"><type>bool</type><parameter name="that"><paramtype><classname>record_view</classname> const &amp;</paramtype><description><para>Comparand </para></description></parameter><description><para>Inequality comparison</para><para>

</para></description><returns><para><computeroutput>!(*this == that)</computeroutput> </para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record__view_1a420e60e9788bfa3b52aa3aab72ea3a5e" name="conversion-operator" cv="const noexcept" specifiers="explicit"><type>bool</type><description><para>Conversion to an unspecified boolean type</para><para>
</para></description><returns><para><computeroutput>true</computeroutput>, if the <computeroutput>*this</computeroutput> identifies a log record, <computeroutput>false</computeroutput>, if the <computeroutput>*this</computeroutput> is not valid </para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record__view_1aa781ac6ac5a122ef2e89325c84d51f5a" name="operator!" cv="const noexcept"><type>bool</type><description><para>Inverted conversion to an unspecified boolean type</para><para>
</para></description><returns><para><computeroutput>false</computeroutput>, if the <computeroutput>*this</computeroutput> identifies a log record, <computeroutput>true</computeroutput>, if the <computeroutput>*this</computeroutput> is not valid </para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record__view_1a8085a0a2efbf1fffb1614fdf1114af2b" name="swap" cv="noexcept"><type>void</type><parameter name="that"><paramtype><classname>record_view</classname> &amp;</paramtype><description><para>Another record to swap with <emphasis role="bold">Throws:</emphasis> Nothing </para></description></parameter><description><para>Swaps two handles</para><para>
</para></description></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record__view_1a20194325f0380eb3bbc6bc6c8b2697d9" name="reset" cv="noexcept"><type>void</type><description><para>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.</para><para>
</para></description><postconditions><para><computeroutput>!*this == true</computeroutput> </para>
</postconditions></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record__view_1a7e9034a34c20c042f4f2a041ecbbba5f" name="operator[]" cv="const"><type>attribute_value_set::mapped_type</type><parameter name="name"><paramtype>attribute_value_set::key_type</paramtype><description><para>Attribute name. </para></description></parameter><description><para>Attribute value lookup.</para><para>

</para></description><returns><para>An <computeroutput>attribute_value</computeroutput>, non-empty if it is found, empty otherwise. </para>
</returns></method>
<method id="doxygen.core_components.classboost_1_1log_1_1record__view_1a014af019abe0981714090208d3faf787" name="operator[]" cv="const"><type>result_of::extract&lt; typenameexpressions::attribute_keyword&lt; DescriptorT, ActorT &gt;::value_type, DescriptorT &gt;::type</type><template>
          <template-type-parameter name="DescriptorT"/>
          <template-nontype-parameter name="ActorT"><type>template&lt; typename &gt; class</type></template-nontype-parameter>
        </template><parameter name="keyword"><paramtype>expressions::attribute_keyword&lt; DescriptorT, ActorT &gt; const &amp;</paramtype><description><para>Attribute keyword. </para></description></parameter><description><para>Attribute value lookup.</para><para>

</para></description><returns><para>A <computeroutput>value_ref</computeroutput> with extracted attribute value if it is found, empty <computeroutput>value_ref</computeroutput> otherwise. </para>
</returns></method>
</method-group>
</class><function id="doxygen.core_components.record__view_8hpp_1abea2e8d3767c5a9a041624d76fd37cbc" name="swap"><type>void</type><parameter name="left"><paramtype><classname>record_view</classname> &amp;</paramtype></parameter><parameter name="right"><paramtype><classname>record_view</classname> &amp;</paramtype></parameter><description><para>A free-standing swap function overload for <computeroutput><link linkend="doxygen.core_components.classboost_1_1log_1_1record__view">record_view</link></computeroutput> </para></description></function>

</namespace>
</namespace>
</header>
</library-reference>