diff options
Diffstat (limited to 'doc/html/BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS.html')
-rw-r--r-- | doc/html/BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS.html | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/doc/html/BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS.html b/doc/html/BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS.html index 01b9032266..aafa3f6588 100644 --- a/doc/html/BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS.html +++ b/doc/html/BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS.html @@ -7,8 +7,8 @@ <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> <link rel="home" href="index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> <link rel="up" href="boost_typeindex_header_reference.html#header.boost.type_index.runtime_cast.register_runtime_class_hpp" title="Header <boost/type_index/runtime_cast/register_runtime_class.hpp>"> -<link rel="prev" href="boost/typeindex/runtime_cast_idp987136544.html" title="Function template runtime_cast"> -<link rel="next" href="BOOST_TYPE_INDEX_NO_BASE_CLASS.html" title="Macro BOOST_TYPE_INDEX_NO_BASE_CLASS"> +<link rel="prev" href="boost/typeindex/runtime_cast_idp760991072.html" title="Function template runtime_cast"> +<link rel="next" href="BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST.html" title="Macro BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table cellpadding="2" width="100%"><tr> @@ -21,7 +21,7 @@ </tr></table> <hr> <div class="spirit-nav"> -<a accesskey="p" href="boost/typeindex/runtime_cast_idp987136544.html"><img src="../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.runtime_cast.register_runtime_class_hpp"><img src="../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_NO_BASE_CLASS.html"><img src="../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="boost/typeindex/runtime_cast_idp760991072.html"><img src="../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.runtime_cast.register_runtime_class_hpp"><img src="../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST.html"><img src="../../doc/src/images/next.png" alt="Next"></a> </div> <div class="refentry"> <a name="BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS"></a><div class="titlepage"></div> @@ -34,8 +34,9 @@ </span>BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS(base_class_seq)</pre></div> <div class="refsect1"> -<a name="idp658813392"></a><h2>Description</h2> +<a name="idp571150080"></a><h2>Description</h2> <p>BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS generates a virtual function in the current class that, when combined with the supplied base class information, allows boost::typeindex::runtime_cast to accurately convert between dynamic types of instances of the current class.</p> +<p>BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS also adds support for boost::typeindex::type_id_runtime by including BOOST_TYPE_INDEX_REGISTER_CLASS. It is typical that these features are used together, but in the event that BOOST_TYPE_INDEX_REGISTER_CLASS is undesirable in the current class, BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST is provided.</p> <p><span class="bold"><strong>Example:</strong></span> </p> <pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">base1</span> <span class="special">{</span> <span class="identifier">BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS</span><span class="special">(</span><span class="identifier">BOOST_TYPE_INDEX_NO_BASE_CLASS</span><span class="special">)</span> @@ -58,8 +59,9 @@ <span class="special">...</span> <span class="identifier">base1</span><span class="special">*</span> <span class="identifier">pb1</span> <span class="special">=</span> <span class="identifier">get_object</span><span class="special">(</span><span class="special">)</span><span class="special">;</span> -<span class="keyword">if</span><span class="special">(</span><span class="identifier">derived2</span><span class="special">*</span> <span class="identifier">pb2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeindex</span><span class="special">::</span><span class="identifier">runtime_cast</span><span class="special"><</span><span class="identifier">derived2</span><span class="special">*</span><span class="special">></span><span class="special">(</span><span class="identifier">pb1</span><span class="special">)</span><span class="special">)</span> -<span class="special">{</span> <span class="comment">/* ... */</span> <span class="special">}</span> +<span class="keyword">if</span><span class="special">(</span><span class="identifier">derived2</span><span class="special">*</span> <span class="identifier">pb2</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeindex</span><span class="special">::</span><span class="identifier">runtime_cast</span><span class="special"><</span><span class="identifier">derived2</span><span class="special">*</span><span class="special">></span><span class="special">(</span><span class="identifier">pb1</span><span class="special">)</span><span class="special">)</span> <span class="special">{</span> + <span class="identifier">assert</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeindex</span><span class="special">::</span><span class="identifier">type_id_runtime</span><span class="special">(</span><span class="special">*</span><span class="identifier">pb1</span><span class="special">)</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeindex</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">derived2</span><span class="special">></span><span class="special">(</span><span class="special">)</span><span class="special">)</span><span class="special">;</span> +<span class="special">}</span> </pre> <p> </p> @@ -77,7 +79,7 @@ </colgroup> <tbody><tr> <td><p><span class="term"><code class="computeroutput">base_class_seq</code></span></p></td> -<td><p>A Boost.Preprocessor sequence of the current class' direct bases, or BOOST_PP_SEQ_NIL if this class has no direct base classes. </p></td> +<td><p>A Boost.Preprocessor sequence of the current class' direct bases, or BOOST_TYPE_INDEX_NO_BASE_CLASS if this class has no direct base classes. </p></td> </tr></tbody> </table></div></td> </tr></tbody> @@ -94,7 +96,7 @@ </tr></table> <hr> <div class="spirit-nav"> -<a accesskey="p" href="boost/typeindex/runtime_cast_idp987136544.html"><img src="../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.runtime_cast.register_runtime_class_hpp"><img src="../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_NO_BASE_CLASS.html"><img src="../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="boost/typeindex/runtime_cast_idp760991072.html"><img src="../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.runtime_cast.register_runtime_class_hpp"><img src="../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST.html"><img src="../../doc/src/images/next.png" alt="Next"></a> </div> </body> </html> |