<?xml version="1.0" standalone="yes"?>
<library-reference id="reference_section_of_boost_any"><title>Reference Section of Boost.Any</title><header id="doxygen.reference_section_of_boost_any.any_8hpp" name="boost/any.hpp">
<para>A class whose instances can hold instances of any type that satisfies  <link linkend="any.ValueType"> ValueType </link> requirements.    </para><namespace name="boost">
<class id="doxygen.reference_section_of_boost_any.classboost_1_1any" name="any"><purpose>A class whose instances can hold instances of any type that satisfies  <link linkend="any.ValueType"> ValueType </link> requirements. </purpose><method-group name="public member functions">
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1any_1aac7d34e8c95c48070a960440a9085ed2" cv="noexcept"><description><para>
</para></description><postconditions><para>this-&gt;<link linkend="doxygen.reference_section_of_boost_any.classboost_1_1any_1a91230d85a79ffc6133085926cbab90c0">empty()</link> is true. </para>
</postconditions></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1any_1ad1cb35a05185a0ac1b71de301658c5ff"><template>
          <template-type-parameter name="ValueType"/>
        </template><parameter name="value"><paramtype>const ValueType &amp;</paramtype></parameter><description><para>Makes a copy of <computeroutput>value</computeroutput>, so that the initial content of the new instance is equivalent in both type and value to <computeroutput>value</computeroutput>.</para><para>
</para></description><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the copy constructor of the contained type. </simpara>
</throws></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1any_1a3eff7994742de9a99960a10992f7dbc3"><parameter name="other"><paramtype>const <classname>any</classname> &amp;</paramtype></parameter><description><para>Copy constructor that copies content of <computeroutput>other</computeroutput> into new instance, so that any content is equivalent in both type and value to the content of <computeroutput>other</computeroutput>, or empty if <computeroutput>other</computeroutput> is empty.</para><para>
</para></description><throws><simpara><classname>May</classname> fail with a <computeroutput>std::bad_alloc</computeroutput> exception or any exceptions arising from the copy constructor of the contained type. </simpara>
</throws></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1any_1aab82476343b92cd1fd02086f44d57631" cv="noexcept"><parameter name="other"><paramtype><classname>any</classname> &amp;&amp;</paramtype></parameter><description><para>Move constructor that moves content of <computeroutput>other</computeroutput> into new instance and leaves <computeroutput>other</computeroutput> empty.</para><para>

</para></description><postconditions><para>other-&gt;<link linkend="doxygen.reference_section_of_boost_any.classboost_1_1any_1a91230d85a79ffc6133085926cbab90c0">empty()</link> is true </para>
</postconditions><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1any_1a176fd4bac5d4e931bba3968bfe0b10c8"><template>
          <template-type-parameter name="ValueType"/>
        </template><parameter name="value"><paramtype>ValueType &amp;&amp;</paramtype></parameter><parameter name=""><paramtype>typename std::enable_if&lt;!std::is_same&lt; <classname>any</classname> &amp;, ValueType &gt;::value &gt;::type *</paramtype><default>0</default></parameter><parameter name=""><paramtype>typename std::enable_if&lt;!std::is_const&lt; ValueType &gt;::value &gt;::type *</paramtype><default>0</default></parameter><description><para>Forwards <computeroutput>value</computeroutput>, so that the initial content of the new instance is equivalent in both type and value to <computeroutput>value</computeroutput> before the forward.</para><para>
</para></description><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the move or copy constructor of the contained type. </simpara>
</throws></constructor>
<destructor id="doxygen.reference_section_of_boost_any.classboost_1_1any_1a7e09d1a2ecbe664d7847b4769fd32163" cv="noexcept"><description><para>Releases any and all resources used in management of instance.</para><para>
</para></description><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></destructor>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1any_1a7752ec2af46e063f38256eb5fea1ed3d" name="swap" cv="noexcept"><type><classname>any</classname> &amp;</type><parameter name="rhs"><paramtype><classname>any</classname> &amp;</paramtype></parameter><description><para>Exchange of the contents of <computeroutput>*this</computeroutput> and <computeroutput>rhs</computeroutput>.</para><para>

</para></description><returns><para><computeroutput>*this</computeroutput> </para>
</returns><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></method>
<copy-assignment id="doxygen.reference_section_of_boost_any.classboost_1_1any_1a9281c3d5a2b85c04d610e43d63e70533"><type><classname>any</classname> &amp;</type><parameter name="rhs"><paramtype>const <classname>any</classname> &amp;</paramtype></parameter><description><para>Copies content of <computeroutput>rhs</computeroutput> into current instance, discarding previous content, so that the new content is equivalent in both type and value to the content of <computeroutput>rhs</computeroutput>, or empty if <computeroutput>rhs.empty()</computeroutput>.</para><para>
</para></description><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the copy constructor of the contained type. Assignment satisfies the strong guarantee of exception safety. </simpara>
</throws></copy-assignment>
<copy-assignment id="doxygen.reference_section_of_boost_any.classboost_1_1any_1a83396326d8023172ea419cc83e1bc200" cv="noexcept"><type><classname>any</classname> &amp;</type><parameter name="rhs"><paramtype><classname>any</classname> &amp;&amp;</paramtype></parameter><description><para>Moves content of <computeroutput>rhs</computeroutput> into current instance, discarding previous content, so that the new content is equivalent in both type and value to the content of <computeroutput>rhs</computeroutput> before move, or empty if <computeroutput>rhs.empty()</computeroutput>.</para><para>

</para></description><postconditions><para><computeroutput>rhs-&gt;<link linkend="doxygen.reference_section_of_boost_any.classboost_1_1any_1a91230d85a79ffc6133085926cbab90c0">empty()</link></computeroutput> is true </para>
</postconditions><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></copy-assignment>
<copy-assignment id="doxygen.reference_section_of_boost_any.classboost_1_1any_1aa7b5270f908ecb789c5a2eecee6d9944"><type><classname>any</classname> &amp;</type><template>
          <template-type-parameter name="ValueType"/>
        </template><parameter name="rhs"><paramtype>ValueType &amp;&amp;</paramtype></parameter><description><para>Forwards <computeroutput>rhs</computeroutput>, discarding previous content, so that the new content of is equivalent in both type and value to <computeroutput>rhs</computeroutput> before forward.</para><para>
</para></description><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the move or copy constructor of the contained type. Assignment satisfies the strong guarantee of exception safety. </simpara>
</throws></copy-assignment>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1any_1a91230d85a79ffc6133085926cbab90c0" name="empty" cv="const noexcept"><type>bool</type><description><para>

</para></description><returns><para><computeroutput>true</computeroutput> if instance is empty, otherwise <computeroutput>false</computeroutput>. </para>
</returns><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></method>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1any_1ab201e994715ebc9c490377e8738632f7" name="clear" cv="noexcept"><type>void</type><description><para>
</para></description><postconditions><para>this-&gt;<link linkend="doxygen.reference_section_of_boost_any.classboost_1_1any_1a91230d85a79ffc6133085926cbab90c0">empty()</link> is true </para>
</postconditions></method>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1any_1a91dd2293ee3922aad6aa5165a9610b76" name="type" cv="const noexcept"><type>const boost::typeindex::type_info &amp;</type><description><para>
Useful for querying against types known either at compile time or only at runtime. </para></description><returns><para>the <computeroutput>typeid</computeroutput> of the contained value if instance is non-empty, otherwise <computeroutput>typeid(void)</computeroutput>.</para>
</returns></method>
</method-group>
</class><function id="doxygen.reference_section_of_boost_any.any_8hpp_1a49e1c5ea658fcab51c562b5ff38e5dc2" name="swap"><type>void</type><parameter name="lhs"><paramtype><classname>any</classname> &amp;</paramtype></parameter><parameter name="rhs"><paramtype><classname>any</classname> &amp;</paramtype></parameter><description><para>Exchange of the contents of <computeroutput>lhs</computeroutput> and <computeroutput>rhs</computeroutput>. 
</para></description><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></function>
<function id="doxygen.reference_section_of_boost_any.any_8hpp_1a034c0a8742ab46146757bef69520c208" name="any_cast"><type>ValueType *</type><template>
          <template-type-parameter name="ValueType"/>
        </template><parameter name="operand"><paramtype><classname>any</classname> *</paramtype></parameter><description><para>
</para></description><returns><para>Pointer to a ValueType stored in <computeroutput>operand</computeroutput>, nullptr if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>ValueType</computeroutput>. </para>
</returns></function>
<function id="doxygen.reference_section_of_boost_any.any_8hpp_1a1410100da018bdb297f04760646cc1c9" name="any_cast"><type>const ValueType *</type><template>
          <template-type-parameter name="ValueType"/>
        </template><parameter name="operand"><paramtype>const <classname>any</classname> *</paramtype></parameter><description><para>
</para></description><returns><para>Const pointer to a ValueType stored in <computeroutput>operand</computeroutput>, nullptr if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>ValueType</computeroutput>. </para>
</returns></function>
<function id="doxygen.reference_section_of_boost_any.any_8hpp_1a6f5732fe5593594ea6341e312d0b3d3c" name="any_cast"><type>ValueType</type><template>
          <template-type-parameter name="ValueType"/>
        </template><parameter name="operand"><paramtype><classname>any</classname> &amp;</paramtype></parameter><description><para>

</para></description><returns><para>ValueType stored in <computeroutput>operand</computeroutput> </para>
</returns><throws><simpara><classname>boost::bad_any_cast</classname> if <computeroutput>operand</computeroutput> does not contain specified ValueType. </simpara>
</throws></function>
<function id="doxygen.reference_section_of_boost_any.any_8hpp_1a4af7dc0b72d804767aae1b4a106f2f6d" name="any_cast"><type>ValueType</type><template>
          <template-type-parameter name="ValueType"/>
        </template><parameter name="operand"><paramtype>const <classname>any</classname> &amp;</paramtype></parameter><description><para>

</para></description><returns><para><computeroutput>ValueType</computeroutput> stored in <computeroutput>operand</computeroutput> </para>
</returns><throws><simpara><classname>boost::bad_any_cast</classname> if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>ValueType</computeroutput>. </simpara>
</throws></function>
<function id="doxygen.reference_section_of_boost_any.any_8hpp_1a8e3e5fc1798871465f83ef88492c07ee" name="any_cast"><type>ValueType</type><template>
          <template-type-parameter name="ValueType"/>
        </template><parameter name="operand"><paramtype><classname>any</classname> &amp;&amp;</paramtype></parameter><description><para>

</para></description><returns><para><computeroutput>ValueType</computeroutput> stored in <computeroutput>operand</computeroutput>, leaving the <computeroutput>operand</computeroutput> empty. </para>
</returns><throws><simpara><classname>boost::bad_any_cast</classname> if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>ValueType</computeroutput>. </simpara>
</throws></function>
</namespace>
</header>
<header id="doxygen.reference_section_of_boost_any.bad__any__cast_8hpp" name="boost/any/bad_any_cast.hpp">
<namespace name="boost">
<class id="doxygen.reference_section_of_boost_any.classboost_1_1bad__any__cast" name="bad_any_cast"><inherit access="public">std::bad_cast</inherit><description><para>The exception thrown in the event of a failed boost::any_cast of an <link linkend="doxygen.reference_section_of_boost_any.classboost_1_1any">boost::any</link>, <link linkend="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any">boost::anys::basic_any</link> or <link linkend="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any">boost::anys::unique_any</link> value. </para></description><method-group name="public member functions">
<method id="doxygen.reference_section_of_boost_any.classboost_1_1bad__any__cast_1aff999d8a437b04179a030a4776b2d185" name="what" cv="const"><type>const char *</type></method>
</method-group>
</class>





</namespace>
</header>
<header id="doxygen.reference_section_of_boost_any.basic__any_8hpp" name="boost/any/basic_any.hpp">
<para>A class with customizable Small Object Optimization whose instances can hold instances of any type that satisfies  <link linkend="any.ValueType"> ValueType </link> requirements. Use <link linkend="doxygen.reference_section_of_boost_any.classboost_1_1any">boost::any</link> instead if not sure.    </para><namespace name="boost">
<namespace name="anys">
<class id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any" name="basic_any"><template>
      <template-nontype-parameter name="OptimizeForSize"><type>std::size_t</type></template-nontype-parameter>
      <template-nontype-parameter name="OptimizeForAlignment"><type>std::size_t</type></template-nontype-parameter>
    </template><purpose>A class with customizable Small Object Optimization whose instances can hold instances of any type that satisfies  <link linkend="any.ValueType"> ValueType </link> requirements. Use <link linkend="doxygen.reference_section_of_boost_any.classboost_1_1any">boost::any</link> instead if not sure. </purpose><description><para><link linkend="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any">boost::anys::basic_any</link> is the drop-in replacement for <link linkend="doxygen.reference_section_of_boost_any.classboost_1_1any">boost::any</link> that provides control over Small Object Optimization via <computeroutput>OptimizeForSize</computeroutput> and <computeroutput>OptimizeForAlignment</computeroutput> template parameters.</para><para>There are certain applications that require <link linkend="doxygen.reference_section_of_boost_any.classboost_1_1any">boost::any</link> functionality, do know the typical/maximal size of the stored object and wish to avoid dynamic memory allocation overhead. For the convenience such applications may create a typedef for <link linkend="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any">boost::anys::basic_any</link> with the <computeroutput>OptimizeForSize</computeroutput> and <computeroutput>OptimizeForAlignment</computeroutput> template parameters set to typical/maximal size and alignment of types respectively. Memory allocation would be avoided for storing nothrow move constructible types with size and alignment less than or equal to the <computeroutput>OptimizeForSize</computeroutput> and <computeroutput>OptimizeForAlignment</computeroutput> values.</para><para>Otherwise just use <link linkend="doxygen.reference_section_of_boost_any.classboost_1_1any">boost::any</link>. </para></description><data-member id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1af92f26a2cf695cb7bcadf7de3ec1bc00" name="buffer_size" specifiers="static"><type>std::size_t</type></data-member>
<data-member id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1a3169175e34001d2b9dc287e828bd8881" name="buffer_align" specifiers="static"><type>std::size_t</type></data-member>
<method-group name="public member functions">
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1ab5c9b37ac7e0136ef1c5909a59e5d754" cv="noexcept"><description><para>
</para></description><postconditions><para>this-&gt;<link linkend="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1a98e0b2274500567dfe30f7ffbcc47747">empty()</link> is true. </para>
</postconditions></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1a0ef0eb828cd1354c3ef6910b954b154a"><template>
          <template-type-parameter name="ValueType"/>
        </template><parameter name="value"><paramtype>const ValueType &amp;</paramtype></parameter><description><para>Makes a copy of <computeroutput>value</computeroutput>, so that the initial content of the new instance is equivalent in both type and value to <computeroutput>value</computeroutput>.</para><para>Does not dynamically allocate if <computeroutput>ValueType</computeroutput> is nothrow move constructible and <computeroutput>sizeof(value) &lt;= OptimizeForSize</computeroutput> and <computeroutput>alignof(value) &lt;= OptimizeForAlignment</computeroutput>.</para><para>
</para></description><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the copy constructor of the contained type. </simpara>
</throws></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1abd0a5f91207bf8b9f734f2009fc8f073"><parameter name="other"><paramtype>const <classname>basic_any</classname> &amp;</paramtype></parameter><description><para>Copy constructor that copies content of <computeroutput>other</computeroutput> into new instance, so that any content is equivalent in both type and value to the content of <computeroutput>other</computeroutput>, or empty if <computeroutput>other</computeroutput> is empty.</para><para>
</para></description><throws><simpara><classname>May</classname> fail with a <computeroutput>std::bad_alloc</computeroutput> exception or any exceptions arising from the copy constructor of the contained type. </simpara>
</throws></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1ae6832eff65b7baa6925b6693215710e1" cv="noexcept"><parameter name="other"><paramtype><classname>basic_any</classname> &amp;&amp;</paramtype></parameter><description><para>Move constructor that moves content of <computeroutput>other</computeroutput> into new instance and leaves <computeroutput>other</computeroutput> empty.</para><para>

</para></description><postconditions><para>other-&gt;<link linkend="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1a98e0b2274500567dfe30f7ffbcc47747">empty()</link> is true </para>
</postconditions><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1a0440391f753fb02e4bda289b80e6fcb9"><template>
          <template-type-parameter name="ValueType"/>
        </template><parameter name="value"><paramtype>ValueType &amp;&amp;</paramtype></parameter><parameter name=""><paramtype>typename std::enable_if&lt;!std::is_same&lt; <classname>basic_any</classname> &amp;, ValueType &gt;::value &gt;::type *</paramtype><default>0</default></parameter><parameter name=""><paramtype>typename std::enable_if&lt;!std::is_const&lt; ValueType &gt;::value &gt;::type *</paramtype><default>0</default></parameter><description><para>Forwards <computeroutput>value</computeroutput>, so that the initial content of the new instance is equivalent in both type and value to <computeroutput>value</computeroutput> before the forward.</para><para>Does not dynamically allocate if <computeroutput>ValueType</computeroutput> is nothrow move constructible and <computeroutput>sizeof(value) &lt;= OptimizeForSize</computeroutput> and <computeroutput>alignof(value) &lt;= OptimizeForAlignment</computeroutput>.</para><para>
</para></description><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the move or copy constructor of the contained type. </simpara>
</throws></constructor>
<destructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1a5b912f58ca5413c2980900a88bef51ff" cv="noexcept"><description><para>Releases any and all resources used in management of instance.</para><para>
</para></description><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></destructor>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1a23fcd96752839f6f5799879f5f2eae08" name="swap" cv="noexcept"><type><classname>basic_any</classname> &amp;</type><parameter name="rhs"><paramtype><classname>basic_any</classname> &amp;</paramtype></parameter><description><para>Exchange of the contents of <computeroutput>*this</computeroutput> and <computeroutput>rhs</computeroutput>.</para><para>

</para></description><returns><para><computeroutput>*this</computeroutput> </para>
</returns><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></method>
<copy-assignment id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1ab30f3b6aa14827714842b11ab5a140ed"><type><classname>basic_any</classname> &amp;</type><parameter name="rhs"><paramtype>const <classname>basic_any</classname> &amp;</paramtype></parameter><description><para>Copies content of <computeroutput>rhs</computeroutput> into current instance, discarding previous content, so that the new content is equivalent in both type and value to the content of <computeroutput>rhs</computeroutput>, or empty if <computeroutput>rhs.empty()</computeroutput>.</para><para>
</para></description><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the copy constructor of the contained type. Assignment satisfies the strong guarantee of exception safety. </simpara>
</throws></copy-assignment>
<copy-assignment id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1ac5f77255211bdb35d1a8e984aa7127c3" cv="noexcept"><type><classname>basic_any</classname> &amp;</type><parameter name="rhs"><paramtype><classname>basic_any</classname> &amp;&amp;</paramtype></parameter><description><para>Moves content of <computeroutput>rhs</computeroutput> into current instance, discarding previous content, so that the new content is equivalent in both type and value to the content of <computeroutput>rhs</computeroutput> before move, or empty if <computeroutput>rhs.empty()</computeroutput>.</para><para>

</para></description><postconditions><para><computeroutput>rhs-&gt;<link linkend="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1a98e0b2274500567dfe30f7ffbcc47747">empty()</link></computeroutput> is true </para>
</postconditions><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></copy-assignment>
<copy-assignment id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1added19d3fe76bddf962f2101aba7f94e"><type><classname>basic_any</classname> &amp;</type><template>
          <template-type-parameter name="ValueType"/>
        </template><parameter name="rhs"><paramtype>ValueType &amp;&amp;</paramtype></parameter><description><para>Forwards <computeroutput>rhs</computeroutput>, discarding previous content, so that the new content of is equivalent in both type and value to <computeroutput>rhs</computeroutput> before forward.</para><para>Does not dynamically allocate if <computeroutput>ValueType</computeroutput> is nothrow move constructible and <computeroutput>sizeof(value) &lt;= OptimizeForSize</computeroutput> and <computeroutput>alignof(value) &lt;= OptimizeForAlignment</computeroutput>.</para><para>
</para></description><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the move or copy constructor of the contained type. Assignment satisfies the strong guarantee of exception safety. </simpara>
</throws></copy-assignment>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1a98e0b2274500567dfe30f7ffbcc47747" name="empty" cv="const noexcept"><type>bool</type><description><para>

</para></description><returns><para><computeroutput>true</computeroutput> if instance is empty, otherwise <computeroutput>false</computeroutput>. </para>
</returns><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></method>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1a07c5897d61d91a1171c9e88d1d0dde38" name="clear" cv="noexcept"><type>void</type><description><para>
</para></description><postconditions><para>this-&gt;<link linkend="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1a98e0b2274500567dfe30f7ffbcc47747">empty()</link> is true </para>
</postconditions></method>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1basic__any_1a0ae4490adfe2f8c01ece3c9e68130cd5" name="type" cv="const noexcept"><type>const boost::typeindex::type_info &amp;</type><description><para>
Useful for querying against types known either at compile time or only at runtime. </para></description><returns><para>the <computeroutput>typeid</computeroutput> of the contained value if instance is non-empty, otherwise <computeroutput>typeid(void)</computeroutput>.</para>
</returns></method>
</method-group>
</class>





<function id="doxygen.reference_section_of_boost_any.basic__any_8hpp_1a9b8868ba0d2fa66317d413b1f2cd85fa" name="swap"><type>void</type><template>
          <template-nontype-parameter name="OptimizeForSize"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="OptimizeForAlignment"><type>std::size_t</type></template-nontype-parameter>
        </template><parameter name="lhs"><paramtype><classname>basic_any</classname>&lt; OptimizeForSize, OptimizeForAlignment &gt; &amp;</paramtype></parameter><parameter name="rhs"><paramtype><classname>basic_any</classname>&lt; OptimizeForSize, OptimizeForAlignment &gt; &amp;</paramtype></parameter><description><para>Exchange of the contents of <computeroutput>lhs</computeroutput> and <computeroutput>rhs</computeroutput>. 
</para></description><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></function>
<function id="doxygen.reference_section_of_boost_any.basic__any_8hpp_1af53811e3fa021cc57a942e8036b95860" name="any_cast"><type>ValueType *</type><template>
          <template-type-parameter name="ValueType"/>
          <template-nontype-parameter name="Size"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="Alignment"><type>std::size_t</type></template-nontype-parameter>
        </template><parameter name="operand"><paramtype><classname>basic_any</classname>&lt; Size, Alignment &gt; *</paramtype></parameter><description><para>
</para></description><returns><para>Pointer to a ValueType stored in <computeroutput>operand</computeroutput>, nullptr if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>ValueType</computeroutput>. </para>
</returns></function>
<function id="doxygen.reference_section_of_boost_any.basic__any_8hpp_1a3dacfa7afe6a1fb123a31b48ad9abd92" name="any_cast"><type>const ValueType *</type><template>
          <template-type-parameter name="ValueType"/>
          <template-nontype-parameter name="OptimizeForSize"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="OptimizeForAlignment"><type>std::size_t</type></template-nontype-parameter>
        </template><parameter name="operand"><paramtype>const <classname>basic_any</classname>&lt; OptimizeForSize, OptimizeForAlignment &gt; *</paramtype></parameter><description><para>
</para></description><returns><para>Const pointer to a ValueType stored in <computeroutput>operand</computeroutput>, nullptr if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>ValueType</computeroutput>. </para>
</returns></function>
<function id="doxygen.reference_section_of_boost_any.basic__any_8hpp_1a2bbe524020965708c03dd8fe690187d7" name="any_cast"><type>ValueType</type><template>
          <template-type-parameter name="ValueType"/>
          <template-nontype-parameter name="OptimizeForSize"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="OptimizeForAlignment"><type>std::size_t</type></template-nontype-parameter>
        </template><parameter name="operand"><paramtype><classname>basic_any</classname>&lt; OptimizeForSize, OptimizeForAlignment &gt; &amp;</paramtype></parameter><description><para>

</para></description><returns><para>ValueType stored in <computeroutput>operand</computeroutput> </para>
</returns><throws><simpara><classname>boost::bad_any_cast</classname> if <computeroutput>operand</computeroutput> does not contain specified ValueType. </simpara>
</throws></function>
<function id="doxygen.reference_section_of_boost_any.basic__any_8hpp_1aafc036fb8d1d911cf48c266d4f00681a" name="any_cast"><type>ValueType</type><template>
          <template-type-parameter name="ValueType"/>
          <template-nontype-parameter name="OptimizeForSize"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="OptimizeForAlignment"><type>std::size_t</type></template-nontype-parameter>
        </template><parameter name="operand"><paramtype>const <classname>basic_any</classname>&lt; OptimizeForSize, OptimizeForAlignment &gt; &amp;</paramtype></parameter><description><para>

</para></description><returns><para><computeroutput>ValueType</computeroutput> stored in <computeroutput>operand</computeroutput> </para>
</returns><throws><simpara><classname>boost::bad_any_cast</classname> if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>ValueType</computeroutput>. </simpara>
</throws></function>
<function id="doxygen.reference_section_of_boost_any.basic__any_8hpp_1a4adac287f7c3759b7bde0a9498f408a8" name="any_cast"><type>ValueType</type><template>
          <template-type-parameter name="ValueType"/>
          <template-nontype-parameter name="OptimizeForSize"><type>std::size_t</type></template-nontype-parameter>
          <template-nontype-parameter name="OptimizeForAlignment"><type>std::size_t</type></template-nontype-parameter>
        </template><parameter name="operand"><paramtype><classname>basic_any</classname>&lt; OptimizeForSize, OptimizeForAlignment &gt; &amp;&amp;</paramtype></parameter><description><para>

</para></description><returns><para><computeroutput>ValueType</computeroutput> stored in <computeroutput>operand</computeroutput>, leaving the <computeroutput>operand</computeroutput> empty. </para>
</returns><throws><simpara><classname>boost::bad_any_cast</classname> if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>ValueType</computeroutput>. </simpara>
</throws></function>
</namespace>






</namespace>
</header>
<header id="doxygen.reference_section_of_boost_any.fwd_8hpp" name="boost/any/fwd.hpp">
<para>Forward declarations of Boost.Any library types. </para></header>
<header id="doxygen.reference_section_of_boost_any.unique__any_8hpp" name="boost/any/unique_any.hpp">
<para>A class whose instances can hold instances of any type (including non-copyable and non-movable types).    </para><namespace name="boost">
<namespace name="anys">
<struct id="doxygen.reference_section_of_boost_any.structboost_1_1anys_1_1in__place__type__t" name="in_place_type_t"><template>
      <template-type-parameter name="T"/>
    </template><purpose>Helper type for providing emplacement type to the constructor. </purpose></struct><class id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any" name="unique_any"><purpose>A class whose instances can hold instances of any type (including non-copyable and non-movable types). </purpose><method-group name="public member functions">
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1a3af2e3bedd0566353c0c493d78e7ba72"><description><para>
</para></description><postconditions><para>this-&gt;<link linkend="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1abaa13d45da8725bd939a44a355f7aa6b">has_value()</link> is false. </para>
</postconditions></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1a013a65cf6faa8ae172b79b9fe051f27a"><parameter name="other"><paramtype><classname>unique_any</classname> &amp;&amp;</paramtype></parameter><description><para>Move constructor that moves content of <computeroutput>other</computeroutput> into new instance and leaves <computeroutput>other</computeroutput> empty.</para><para>

</para></description><postconditions><para>other-&gt;<link linkend="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1abaa13d45da8725bd939a44a355f7aa6b">has_value()</link> is false. </para>
</postconditions><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1ae0721369c23ba3a180206f1bf26e2d20"><template>
          <template-type-parameter name="T"/>
        </template><parameter name="value"><paramtype>T &amp;&amp;</paramtype></parameter><parameter name=""><paramtype>typename std::enable_if&lt;!std::is_same&lt; T &amp;&amp;, <classname>boost::any</classname> &amp;&amp; &gt;::value &gt;::type *</paramtype><default>nullptr</default></parameter><description><para>Forwards <computeroutput>value</computeroutput>, so that the content of the new instance has type <computeroutput>std::decay_t&lt;T&gt;</computeroutput> and value is the <computeroutput>value</computeroutput> before the forward.</para><para>
</para></description><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the move or copy constructor of the contained type. </simpara>
</throws></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1ab846d909ac5fd865422c0763f07b117d" cv="noexcept"><template>
          <template-type-parameter name="BoostAny"/>
        </template><parameter name="value"><paramtype>BoostAny &amp;&amp;</paramtype></parameter><parameter name=""><paramtype>typename std::enable_if&lt; std::is_same&lt; BoostAny &amp;&amp;, <classname>boost::any</classname> &amp;&amp; &gt;::value &gt;::type *</paramtype><default>nullptr</default></parameter><description><para>Moves the content of <computeroutput><link linkend="doxygen.reference_section_of_boost_any.classboost_1_1any">boost::any</link></computeroutput> into *this.</para><para>

</para></description><postconditions><para><computeroutput>value.empty()</computeroutput> is true. </para>
</postconditions><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1a07ea576fc1b9d8b91cc507f7e53f9aa7" specifiers="explicit"><template>
          <template-type-parameter name="T"/>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name=""><paramtype><classname>in_place_type_t</classname>&lt; T &gt;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para>Inplace constructs <computeroutput>T</computeroutput> from forwarded <computeroutput>args...</computeroutput>, so that the content of <computeroutput>*this</computeroutput> is equivalent in type to <computeroutput>std::decay_t&lt;T&gt;</computeroutput>.</para><para>
</para></description><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the move or copy constructor of the contained type. </simpara>
</throws></constructor>
<constructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1a1e6288f2ed6283b106fadd5d6b70f767" specifiers="explicit"><template>
          <template-type-parameter name="T"/>
          <template-type-parameter name="U"/>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name=""><paramtype><classname>in_place_type_t</classname>&lt; T &gt;</paramtype></parameter><parameter name="il"><paramtype>std::initializer_list&lt; U &gt;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para>Inplace constructs <computeroutput>T</computeroutput> from <computeroutput>li</computeroutput> and forwarded <computeroutput>args...</computeroutput>, so that the initial content of <computeroutput>*this</computeroutput> is equivalent in type to <computeroutput>std::decay_t&lt;T&gt;</computeroutput>.</para><para>
</para></description><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the move or copy constructor of the contained type. </simpara>
</throws></constructor>
<destructor id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1a87ccf53a4ea6f56b20030be672604a1a"><description><para>Releases any and all resources used in management of instance.</para><para>
</para></description><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></destructor>
<copy-assignment id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1a25ff6be2429c96d6dec220b46a491396"><type><classname>unique_any</classname> &amp;</type><parameter name="rhs"><paramtype><classname>unique_any</classname> &amp;&amp;</paramtype></parameter><description><para>Moves content of <computeroutput>rhs</computeroutput> into current instance, discarding previous content, so that the new content is equivalent in both type and value to the content of <computeroutput>rhs</computeroutput> before move, or empty if <computeroutput>rhs.empty()</computeroutput>.</para><para>

</para></description><postconditions><para><computeroutput>rhs-&gt;empty()</computeroutput> is true </para>
</postconditions><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></copy-assignment>
<copy-assignment id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1a9a06d5a7b07834f612fa51c1281d241f"><type><classname>unique_any</classname> &amp;</type><template>
          <template-type-parameter name="T"/>
        </template><parameter name="rhs"><paramtype>T &amp;&amp;</paramtype></parameter><description><para>Forwards <computeroutput>rhs</computeroutput>, discarding previous content, so that the new content of is equivalent in both type and value to <computeroutput>rhs</computeroutput> before forward.</para><para>
</para></description><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the move or copy constructor of the contained type. Assignment satisfies the strong guarantee of exception safety. </simpara>
</throws></copy-assignment>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1a0bbb56b79260693db0bac0794ece90ea" name="emplace"><type>std::decay&lt; T &gt;::type &amp;</type><template>
          <template-type-parameter name="T"/>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para>Inplace constructs <computeroutput>T</computeroutput> from forwarded <computeroutput>args...</computeroutput>, discarding previous content, so that the content of <computeroutput>*this</computeroutput> is equivalent in type to <computeroutput>std::decay_t&lt;T&gt;</computeroutput>.</para><para>

</para></description><returns><para>reference to the content of <computeroutput>*this</computeroutput>. </para>
</returns><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the move or copy constructor of the contained type. </simpara>
</throws></method>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1a730eb643a6610d09e59e4035ddfcbce6" name="emplace"><type>std::decay&lt; T &gt;::type &amp;</type><template>
          <template-type-parameter name="T"/>
          <template-type-parameter name="U"/>
          <template-nontype-parameter name="Args"><type>class...</type></template-nontype-parameter>
        </template><parameter name="il"><paramtype>std::initializer_list&lt; U &gt;</paramtype></parameter><parameter name="args"><paramtype>Args &amp;&amp;...</paramtype></parameter><description><para>Inplace constructs <computeroutput>T</computeroutput> from <computeroutput>li</computeroutput> and forwarded <computeroutput>args...</computeroutput>, discarding previous content, so that the content of <computeroutput>*this</computeroutput> is equivalent in type to <computeroutput>std::decay_t&lt;T&gt;</computeroutput>.</para><para>

</para></description><returns><para>reference to the content of <computeroutput>*this</computeroutput>. </para>
</returns><throws><simpara><classname>std::bad_alloc</classname> or any exceptions arising from the move or copy constructor of the contained type. </simpara>
</throws></method>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1a94df2181e38329fa860da609c898e9f7" name="reset" cv="noexcept"><type>void</type><description><para>
</para></description><postconditions><para>this-&gt;<link linkend="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1abaa13d45da8725bd939a44a355f7aa6b">has_value()</link> is false. </para>
</postconditions></method>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1a62fc14aec585e78b9688025ce2e430fb" name="swap" cv="noexcept"><type>void</type><parameter name="rhs"><paramtype><classname>unique_any</classname> &amp;</paramtype></parameter><description><para>Exchange of the contents of <computeroutput>*this</computeroutput> and <computeroutput>rhs</computeroutput>.</para><para>

</para></description><returns><para><computeroutput>*this</computeroutput> </para>
</returns><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></method>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1abaa13d45da8725bd939a44a355f7aa6b" name="has_value" cv="const noexcept"><type>bool</type><description><para>

</para></description><returns><para><computeroutput>true</computeroutput> if instance is not empty, otherwise <computeroutput>false</computeroutput>. </para>
</returns><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></method>
<method id="doxygen.reference_section_of_boost_any.classboost_1_1anys_1_1unique__any_1a85664c4fb919af6df4f400ea69a503c7" name="type" cv="const noexcept"><type>const boost::typeindex::type_info &amp;</type><description><para>
Useful for querying against types known either at compile time or only at runtime. </para></description><returns><para>the <computeroutput>typeid</computeroutput> of the contained value if instance is non-empty, otherwise <computeroutput>typeid(void)</computeroutput>.</para>
</returns></method>
</method-group>
</class><data-member id="doxygen.reference_section_of_boost_any.unique__any_8hpp_1a082a5eb21c66fc9e1273adfe582943a9" name="in_place_type"><type><classname>in_place_type_t</classname>&lt; T &gt;</type></data-member>
<function id="doxygen.reference_section_of_boost_any.unique__any_8hpp_1abb9b01c539696148c5c7bee5d230f264" name="swap"><type>void</type><parameter name="lhs"><paramtype><classname>unique_any</classname> &amp;</paramtype></parameter><parameter name="rhs"><paramtype><classname>unique_any</classname> &amp;</paramtype></parameter><description><para>Exchange of the contents of <computeroutput>lhs</computeroutput> and <computeroutput>rhs</computeroutput>. 
</para></description><throws><simpara><classname>Nothing.</classname> </simpara>
</throws></function>
<function id="doxygen.reference_section_of_boost_any.unique__any_8hpp_1a917464839fe8d0d62d3f9ea7a0db4a3a" name="any_cast"><type>T *</type><template>
          <template-type-parameter name="T"/>
        </template><parameter name="operand"><paramtype><classname>unique_any</classname> *</paramtype></parameter><description><para>
</para></description><returns><para>Pointer to a <computeroutput>T</computeroutput> stored in <computeroutput>operand</computeroutput>, nullptr if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>T</computeroutput>. </para>
</returns></function>
<function id="doxygen.reference_section_of_boost_any.unique__any_8hpp_1ad9628e19331499eeebd9473a53fdd1e3" name="any_cast"><type>const T *</type><template>
          <template-type-parameter name="T"/>
        </template><parameter name="operand"><paramtype>const <classname>unique_any</classname> *</paramtype></parameter><description><para>
</para></description><returns><para>Const pointer to a <computeroutput>T</computeroutput> stored in <computeroutput>operand</computeroutput>, nullptr if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>T</computeroutput>. </para>
</returns></function>
<function id="doxygen.reference_section_of_boost_any.unique__any_8hpp_1a48901c483ad6836d63ff5d1e7473c0d1" name="any_cast"><type>T</type><template>
          <template-type-parameter name="T"/>
        </template><parameter name="operand"><paramtype><classname>unique_any</classname> &amp;</paramtype></parameter><description><para>

</para></description><returns><para><computeroutput>T</computeroutput> stored in <computeroutput>operand</computeroutput> </para>
</returns><throws><simpara><classname>boost::bad_any_cast</classname> if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>T</computeroutput>. </simpara>
</throws></function>
<function id="doxygen.reference_section_of_boost_any.unique__any_8hpp_1aa01272d71585d5396818899a11848437" name="any_cast"><type>T</type><template>
          <template-type-parameter name="T"/>
        </template><parameter name="operand"><paramtype>const <classname>unique_any</classname> &amp;</paramtype></parameter><description><para>

</para></description><returns><para><computeroutput>T</computeroutput> stored in <computeroutput>operand</computeroutput> </para>
</returns><throws><simpara><classname>boost::bad_any_cast</classname> if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>T</computeroutput>. </simpara>
</throws></function>
<function id="doxygen.reference_section_of_boost_any.unique__any_8hpp_1ac33fdc345599dd043441364812a284d5" name="any_cast"><type>T</type><template>
          <template-type-parameter name="T"/>
        </template><parameter name="operand"><paramtype><classname>unique_any</classname> &amp;&amp;</paramtype></parameter><description><para>

</para></description><returns><para><computeroutput>T</computeroutput> stored in <computeroutput>operand</computeroutput> </para>
</returns><throws><simpara><classname>boost::bad_any_cast</classname> if <computeroutput>operand</computeroutput> does not contain specified <computeroutput>T</computeroutput>. </simpara>
</throws></function>






</namespace>






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