<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Boost.TypeIndex Header Reference</title> <link rel="stylesheet" href="../../doc/src/boostbook.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> <link rel="up" href="boost_typeindex.html" title="Chapter 35. Boost.TypeIndex 4.0"> <link rel="prev" href="boost_typeindex/examples.html" title="Examples"> <link rel="next" href="boost/typeindex/type_index.html" title="Type definition type_index"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table cellpadding="2" width="100%"><tr> <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../boost.png"></td> <td align="center"><a href="../../index.html">Home</a></td> <td align="center"><a href="../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> <td align="center"><a href="../../more/index.htm">More</a></td> </tr></table> <hr> <div class="spirit-nav"> <a accesskey="p" href="boost_typeindex/examples.html"><img src="../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex.html"><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/typeindex/type_index.html"><img src="../../doc/src/images/next.png" alt="Next"></a> </div> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="boost_typeindex_header_reference"></a>Boost.TypeIndex Header Reference</h2></div></div></div> <div class="toc"><dl class="toc"> <dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index_hpp">Header <boost/type_index.hpp></a></span></dt> <dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.ctti_type_index_hpp">Header <boost/type_index/ctti_type_index.hpp></a></span></dt> <dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.stl_type_index_hpp">Header <boost/type_index/stl_type_index.hpp></a></span></dt> <dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_facade_hpp">Header <boost/type_index/type_index_facade.hpp></a></span></dt> </dl></div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> <a name="header.boost.type_index_hpp"></a>Header <<a href="../../boost/type_index.hpp" target="_top">boost/type_index.hpp</a>></h3></div></div></div> <p>Includes minimal set of headers required to use the Boost.TypeIndex library. </p> <p>By inclusion of this file most optimal type index classes will be included and used as a boost::typeindex::type_index and boost::typeindex::type_info. </p> <pre class="synopsis"> <a class="link" href="BOOST_TYPE_INDEX_REGISTER_CLASS.html" title="Macro BOOST_TYPE_INDEX_REGISTER_CLASS">BOOST_TYPE_INDEX_REGISTER_CLASS</a> <a class="link" href="BOOST_TYPE_INDEX_FUNCTION_SIGNATURE.html" title="Macro BOOST_TYPE_INDEX_FUNCTION_SIGNATURE">BOOST_TYPE_INDEX_FUNCTION_SIGNATURE</a> <a class="link" href="BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING.html" title="Macro BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING">BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING</a> <a class="link" href="BOOST_TYPE_INDEX_USER_TYPEINDEX.html" title="Macro BOOST_TYPE_INDEX_USER_TYPEINDEX">BOOST_TYPE_INDEX_USER_TYPEINDEX</a> <a class="link" href="BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html" title="Macro BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY">BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY</a></pre> <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">typeindex</span> <span class="special">{</span> <span class="keyword">typedef</span> <span class="identifier">platform_specific</span> <a class="link" href="boost/typeindex/type_index.html" title="Type definition type_index"><span class="identifier">type_index</span></a><span class="special">;</span> <span class="keyword">typedef</span> <span class="identifier">type_index</span><span class="special">::</span><span class="identifier">type_info_t</span> <a class="link" href="boost/typeindex/type_info.html" title="Type definition type_info"><span class="identifier">type_info</span></a><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">type_index</span> <a class="link" href="boost/typeindex/type_id.html" title="Function template type_id"><span class="identifier">type_id</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">type_index</span> <a class="link" href="boost/typeindex/type_id_with_cvr.html" title="Function template type_id_with_cvr"><span class="identifier">type_id_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">type_index</span> <a class="link" href="boost/typeindex/type_id_runtime.html" title="Function template type_id_runtime"><span class="identifier">type_id_runtime</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="special">}</span> <span class="special">}</span></pre> </div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> <a name="header.boost.type_index.ctti_type_index_hpp"></a>Header <<a href="../../boost/type_index/ctti_type_index.hpp" target="_top">boost/type_index/ctti_type_index.hpp</a>></h3></div></div></div> <p>Contains <a class="link" href="boost/typeindex/ctti_type_index.html" title="Class ctti_type_index">boost::typeindex::ctti_type_index</a> class. </p> <p><a class="link" href="boost/typeindex/ctti_type_index.html" title="Class ctti_type_index">boost::typeindex::ctti_type_index</a> class can be used as a drop-in replacement for std::type_index.</p> <p>It is used in situations when typeid() method is not available or BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY macro is defined. </p> <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">typeindex</span> <span class="special">{</span> <span class="keyword">class</span> <a class="link" href="boost/typeindex/ctti_type_index.html" title="Class ctti_type_index">ctti_type_index</a><span class="special">;</span> <span class="comment">// Helper method for getting detail::ctti_data of a template parameter T. </span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.typeindex.ctti_construct"></a><span class="identifier">ctti_construct</span><span class="special">(</span><span class="special">)</span><span class="special">;</span> <span class="special">}</span> <span class="special">}</span></pre> </div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> <a name="header.boost.type_index.stl_type_index_hpp"></a>Header <<a href="../../boost/type_index/stl_type_index.hpp" target="_top">boost/type_index/stl_type_index.hpp</a>></h3></div></div></div> <p>Contains <a class="link" href="boost/typeindex/stl_type_index.html" title="Class stl_type_index">boost::typeindex::stl_type_index</a> class. </p> <p><a class="link" href="boost/typeindex/stl_type_index.html" title="Class stl_type_index">boost::typeindex::stl_type_index</a> class can be used as a drop-in replacement for std::type_index.</p> <p>It is used in situations when RTTI is enabled or typeid() method is available. When typeid() is disabled or BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY macro is defined boost::typeindex::ctti is usually used instead of <a class="link" href="boost/typeindex/stl_type_index.html" title="Class stl_type_index">boost::typeindex::stl_type_index</a>. </p> <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">typeindex</span> <span class="special">{</span> <span class="keyword">class</span> <a class="link" href="boost/typeindex/stl_type_index.html" title="Class stl_type_index">stl_type_index</a><span class="special">;</span> <span class="special">}</span> <span class="special">}</span></pre> </div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> <a name="header.boost.type_index.type_index_facade_hpp"></a>Header <<a href="../../boost/type_index/type_index_facade.hpp" target="_top">boost/type_index/type_index_facade.hpp</a>></h3></div></div></div> <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> It<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.hash_ran_idm45506887492112"></a><span class="identifier">hash_range</span><span class="special">(</span><span class="identifier">It</span><span class="special">,</span> <span class="identifier">It</span><span class="special">)</span><span class="special">;</span> <span class="keyword">namespace</span> <span class="identifier">typeindex</span> <span class="special">{</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Derived<span class="special">,</span> <span class="keyword">typename</span> TypeInfo<span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a><span class="special">;</span> <span class="comment">// noexcept comparison operators for <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> classes. </span> <span class="keyword">bool</span> <a name="boost.typeindex.operator_idm45507101655328"></a><span class="keyword">operator</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><span class="special">...</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">&</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span> <span class="comment">// noexcept comparison operators for <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> and it's TypeInfo classes. </span> <span class="keyword">bool</span> <a name="boost.typeindex.operator_idm45506892568848"></a><span class="keyword">operator</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><span class="special">...</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">&</span> lhs<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">TypeInfo</span> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span> <span class="comment">// noexcept comparison operators for <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a>'s TypeInfo and <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> classes. </span> <span class="keyword">bool</span> <a name="boost.typeindex.operator_idm45506892565120"></a><span class="keyword">operator</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><span class="special">...</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">TypeInfo</span> <span class="special">&</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span> <span class="comment">// Ostream operator that will output demangled name. </span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> TriatT<span class="special">,</span> <span class="keyword">typename</span> Derived<span class="special">,</span> <span class="keyword">typename</span> TypeInfo<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">></span> <span class="special">&</span> <a name="boost.typeindex.operator_idm45506981468656"></a><span class="keyword">operator</span><span class="special"><<</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">></span> <span class="special">&</span> ostr<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a><span class="special"><</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="identifier">TypeInfo</span> <span class="special">></span> <span class="special">&</span> ind<span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Derived<span class="special">,</span> <span class="keyword">typename</span> TypeInfo<span class="special">></span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="boost/typeindex/hash_val_idm45506981463280.html" title="Function template hash_value"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a><span class="special"><</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="identifier">TypeInfo</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> </div> </div> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <td align="left"></td> <td align="right"><div class="copyright-footer">Copyright © 2012-2014 Antony Polukhin<p> Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) </p> </div></td> </tr></table> <hr> <div class="spirit-nav"> <a accesskey="p" href="boost_typeindex/examples.html"><img src="../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex.html"><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/typeindex/type_index.html"><img src="../../doc/src/images/next.png" alt="Next"></a> </div> </body> </html>