Docs for version 2.0 of TypeIndex library generated

This commit is contained in:
Antony Polukhin
2013-10-29 16:24:39 +04:00
parent 4cebe4ff9d
commit cc377e0c2d
19 changed files with 575 additions and 328 deletions

View File

@@ -4,9 +4,9 @@
<title>Function template template_id</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp" title="Header &lt;boost/type_index/template_index_impl.hpp&gt;">
<link rel="prev" href="template_index.html" title="Class template_index">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header &lt;boost/type_index/template_info.hpp&gt;">
<link rel="prev" href="template_info.html" title="Class template_info">
<link rel="next" href="template_id_with_cvr.html" title="Function template template_id_with_cvr">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="template_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="template_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.template_id"></a><div class="titlepage"></div>
@@ -29,13 +29,13 @@
<p>boost::template_id</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp" title="Header &lt;boost/type_index/template_index_impl.hpp&gt;">boost/type_index/template_index_impl.hpp</a>&gt;
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header &lt;boost/type_index/template_info.hpp&gt;">boost/type_index/template_info.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <span class="identifier">template_id</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> <span class="identifier">template_id</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp62085088"></a><h2>Description</h2>
<p>Method for constructing <code class="computeroutput"><a class="link" href="template_index.html" title="Class template_index">template_index</a></code> instance for type T. Strips const, volatile and &amp; modifiers from T. </p>
<a name="idp5940160"></a><h2>Description</h2>
<p>Method for constructing <code class="computeroutput"><a class="link" href="template_info.html" title="Class template_info">template_info</a></code> instance for type T. Strips const, volatile and &amp; modifiers from T. </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -48,7 +48,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="template_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="template_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -4,10 +4,10 @@
<title>Function template template_id_with_cvr</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp" title="Header &lt;boost/type_index/template_index_impl.hpp&gt;">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header &lt;boost/type_index/template_info.hpp&gt;">
<link rel="prev" href="template_id.html" title="Function template template_id">
<link rel="next" href="type_index.html" title="Class type_index">
<link rel="next" href="type_info.html" title="Class type_info">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="template_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="template_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.template_id_with_cvr"></a><div class="titlepage"></div>
@@ -29,13 +29,13 @@
<p>boost::template_id_with_cvr</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp" title="Header &lt;boost/type_index/template_index_impl.hpp&gt;">boost/type_index/template_index_impl.hpp</a>&gt;
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header &lt;boost/type_index/template_info.hpp&gt;">boost/type_index/template_info.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <span class="identifier">template_id_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> <span class="identifier">template_id_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp62094944"></a><h2>Description</h2>
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="template_index.html" title="Class template_index">template_index</a></code> instance for type T. Does not strip const, volatile and &amp; modifiers from T. If T has no const, volatile, &amp; and &amp;&amp; modifiers, then returns exactly the same result as in case of calling `template_id&lt;T&gt;()`. </p>
<a name="idp5952976"></a><h2>Description</h2>
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="template_info.html" title="Class template_info">template_info</a></code> instance for type T. Does not strip const, volatile and &amp; modifiers from T. If T has no const, volatile, &amp; and &amp;&amp; modifiers, then returns exactly the same result as in case of calling `template_id&lt;T&gt;()`. </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -48,7 +48,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="template_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="template_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -1,13 +1,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template_index</title>
<title>Type definition template_index</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp" title="Header &lt;boost/type_index/template_index_impl.hpp&gt;">
<link rel="prev" href="../boost_typeindex_header_reference.html" title="Boost.TypeIndex Header Reference">
<link rel="next" href="template_id.html" title="Function template template_id">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_hpp" title="Header &lt;boost/type_index/template_index.hpp&gt;">
<link rel="prev" href="type_index.html" title="Class type_index">
<link rel="next" href="template_info.html" title="Class template_info">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -20,78 +20,22 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../boost_typeindex_header_reference.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.template_index"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template_index</span></h2>
<p>boost::template_index</p>
<h2><span class="refentrytitle">Type definition template_index</span></h2>
<p>template_index</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp" title="Header &lt;boost/type_index/template_index_impl.hpp&gt;">boost/type_index/template_index_impl.hpp</a>&gt;
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_hpp" title="Header &lt;boost/type_index/template_index.hpp&gt;">boost/type_index/template_index.hpp</a>&gt;
</span>
<span class="keyword">class</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// <a class="link" href="template_index.html#boost.template_indexconstruct-copy-destruct">construct/copy/destruct</a></span>
<a class="link" href="template_index.html#idm31776-bb"><span class="identifier">template_index</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="comment">// <a class="link" href="template_index.html#idm6688-bb">public member functions</a></span>
<span class="keyword">bool</span> <a class="link" href="template_index.html#idm6128-bb"><span class="identifier">before</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="template_index.html#idm3344-bb"><span class="identifier">name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="template_index.html#idm1936-bb"><span class="identifier">name_demangled</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="template_index.html#idm33488-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="comment">// <a class="link" href="template_index.html#idm30800-bb">public static functions</a></span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <a class="link" href="template_index.html#idm30240-bb"><span class="identifier">construct</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <a class="link" href="template_index.html#idm27024-bb"><span class="identifier">construct_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<span class="keyword">typedef</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="identifier">template_index</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp62024288"></a><h2>Description</h2>
<p>Copyable type_info that does not require RTTI and could store const, volatile and references if constructed via construct_with_cvr() </p>
<div class="refsect2">
<a name="idp62025072"></a><h3>
<a name="boost.template_indexconstruct-copy-destruct"></a><code class="computeroutput">template_index</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
<pre class="literallayout"><a name="idm31776-bb"></a><span class="identifier">template_index</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Default constructor. </p>
</li></ol></div>
</div>
<div class="refsect2">
<a name="idp62031376"></a><h3>
<a name="idm6688-bb"></a><code class="computeroutput">template_index</code> public member functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><span class="keyword">bool</span> <a name="idm6128-bb"></a><span class="identifier">before</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Returns true if the type precedes the type of rhs in the collation order. The collation order is just an internal order. </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idm3344-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Returns raw name. </li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idm1936-bb"></a><span class="identifier">name_demangled</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Returns user-friendly name. </li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idm33488-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Function for getting hash value </p>
</li>
</ol></div>
</div>
<div class="refsect2">
<a name="idp62058976"></a><h3>
<a name="idm30800-bb"></a><code class="computeroutput">template_index</code> public static functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <a name="idm30240-bb"></a><span class="identifier">construct</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="template_index.html" title="Class template_index">template_index</a></code> instance for type T. Strips const, volatile and &amp; modifiers from T </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <a name="idm27024-bb"></a><span class="identifier">construct_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="template_index.html" title="Class template_index">template_index</a></code> instance for type T. Does not strip const, volatile and &amp; modifiers from T </p>
</li>
</ol></div>
</div>
<a name="idp5685952"></a><h2>Description</h2>
<p>boost::template_index is just a typedef of <a class="link" href="template_info.html" title="Class template_info">boost::template_info</a>, that combines functionality of <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> and <a class="link" href="type_index.html" title="Class type_index">boost::type_index</a> but can work with RTTI disabled. </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -104,7 +48,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../boost_typeindex_header_reference.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

120
boost/template_info.html Normal file
View File

@@ -0,0 +1,120 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class template_info</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header &lt;boost/type_index/template_info.hpp&gt;">
<link rel="prev" href="template_index.html" title="Type definition template_index">
<link rel="next" href="template_id.html" title="Function template template_id">
</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="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/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="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="template_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.template_info"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class template_info</span></h2>
<p>boost::template_info</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header &lt;boost/type_index/template_info.hpp&gt;">boost/type_index/template_info.hpp</a>&gt;
</span>
<span class="keyword">class</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// <a class="link" href="template_info.html#boost.template_infoconstruct-copy-destruct">construct/copy/destruct</a></span>
<a class="link" href="template_info.html#idp5954912-bb"><span class="identifier">template_info</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="comment">// <a class="link" href="template_info.html#idp5936016-bb">public member functions</a></span>
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5936512-bb"><span class="identifier">before</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="template_info.html#idp5939040-bb"><span class="identifier">name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="template_info.html#idp5940288-bb"><span class="identifier">name_demangled</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5941536-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5943536-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5945536-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5947536-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5949536-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5951536-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="template_info.html#idp5953536-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="comment">// <a class="link" href="template_info.html#idp5955792-bb">public static functions</a></span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> <a class="link" href="template_info.html#idp5956288-bb"><span class="identifier">construct</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> <a class="link" href="template_info.html#idp5959424-bb"><span class="identifier">construct_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp5827408"></a><h2>Description</h2>
<p>Copyable <a class="link" href="type_info.html" title="Class type_info">type_info</a> class that does not require RTTI. When RTTI is disabled this class will be used instead of <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> and <a class="link" href="type_index.html" title="Class type_index">boost::type_index</a>. </p>
<div class="refsect2">
<a name="idp5830032"></a><h3>
<a name="boost.template_infoconstruct-copy-destruct"></a><code class="computeroutput">template_info</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
<pre class="literallayout"><a name="idp5954912-bb"></a><span class="identifier">template_info</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Default constructor. </p>
</li></ol></div>
</div>
<div class="refsect2">
<a name="idp5835984"></a><h3>
<a name="idp5936016-bb"></a><code class="computeroutput">template_info</code> public member functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><span class="keyword">bool</span> <a name="idp5936512-bb"></a><span class="identifier">before</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Returns true if the type precedes the type of rhs in the collation order. The collation order is just an internal order. </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idp5939040-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Returns raw name. </li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idp5940288-bb"></a><span class="identifier">name_demangled</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Returns user-friendly name. </li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5941536-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5943536-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5945536-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5947536-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5949536-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5951536-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp5953536-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Function for getting hash value. </li>
</ol></div>
</div>
<div class="refsect2">
<a name="idp5908192"></a><h3>
<a name="idp5955792-bb"></a><code class="computeroutput">template_info</code> public static functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> <a name="idp5956288-bb"></a><span class="identifier">construct</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="template_info.html" title="Class template_info">boost::template_info</a></code> instance for type T. Strips const, volatile and &amp; modifiers from T </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> <a name="idp5959424-bb"></a><span class="identifier">construct_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="template_info.html" title="Class template_info">template_info</a></code> instance for type T. Does not strip const, volatile and &amp; modifiers from T </p>
</li>
</ol></div>
</div>
</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 &#169; 2012, 2013 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="template_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -4,9 +4,9 @@
<title>Function template type_id</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header &lt;boost/type_index/type_index_impl.hpp&gt;">
<link rel="prev" href="type_index.html" title="Class type_index">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header &lt;boost/type_index/type_info.hpp&gt;">
<link rel="prev" href="type_info.html" title="Class type_info">
<link rel="next" href="type_id_with_cvr.html" title="Function template type_id_with_cvr">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="type_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.type_id"></a><div class="titlepage"></div>
@@ -29,13 +29,13 @@
<p>boost::type_id</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header &lt;boost/type_index/type_index_impl.hpp&gt;">boost/type_index/type_index_impl.hpp</a>&gt;
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header &lt;boost/type_index/type_info.hpp&gt;">boost/type_index/type_info.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="identifier">type_id</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> <span class="identifier">type_id</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp62287376"></a><h2>Description</h2>
<p>Function, to get <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">type_index</a></code> for a type T. Strips const, volatile and &amp; modifiers from T. </p>
<a name="idp6276896"></a><h2>Description</h2>
<p>Function to get <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code> for a type T. Strips const, volatile and &amp; modifiers from T. </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -48,7 +48,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="type_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -4,10 +4,10 @@
<title>Function template type_id_rtti_only</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header &lt;boost/type_index/type_index_impl.hpp&gt;">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header &lt;boost/type_index/type_info.hpp&gt;">
<link rel="prev" href="type_id_with_cvr.html" title="Function template type_id_with_cvr">
<link rel="next" href="type_id_rtti_on_idp5434192.html" title="Function template type_id_rtti_only">
<link rel="next" href="type_id_rtti_on_idp6024592.html" title="Function template type_id_rtti_only">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -20,22 +20,22 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5434192.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp6024592.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.type_id_rtti_on_idp5430736"></a><div class="titlepage"></div>
<a name="boost.type_id_rtti_on_idp6020784"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Function template type_id_rtti_only</span></h2>
<p>boost::type_id_rtti_only</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header &lt;boost/type_index/type_index_impl.hpp&gt;">boost/type_index/type_index_impl.hpp</a>&gt;
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header &lt;boost/type_index/type_info.hpp&gt;">boost/type_index/type_info.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="identifier">type_id_rtti_only</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span> rtti_val<span class="special">)</span><span class="special">;</span></pre></div>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> <span class="identifier">type_id_rtti_only</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span> rtti_val<span class="special">)</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp62308464"></a><h2>Description</h2>
<p>Function, that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">boost::type_index</a></code>. This method available only with RTTI enabled. Without RTTI support it won't compile, producing a compile-time error with message: "boost::type_id_rtti_only(T&amp;) requires RTTI" </p>
<a name="idp6304096"></a><h2>Description</h2>
<p>Function that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code>. This method available only with RTTI enabled. Without RTTI support it won't compile, producing a compile-time error with message: "boost::type_id_rtti_only(T&amp;) requires RTTI" </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -48,7 +48,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5434192.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp6024592.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -4,9 +4,9 @@
<title>Function template type_id_rtti_only</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header &lt;boost/type_index/type_index_impl.hpp&gt;">
<link rel="prev" href="type_id_rtti_on_idp5430736.html" title="Function template type_id_rtti_only">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header &lt;boost/type_index/type_info.hpp&gt;">
<link rel="prev" href="type_id_rtti_on_idp6020784.html" title="Function template type_id_rtti_only">
<link rel="next" href="../boost_typeindex/space_and_performance.html" title="Space and Performance">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,22 +20,22 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="type_id_rtti_on_idp5430736.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost_typeindex/space_and_performance.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="type_id_rtti_on_idp6020784.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost_typeindex/space_and_performance.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.type_id_rtti_on_idp5434192"></a><div class="titlepage"></div>
<a name="boost.type_id_rtti_on_idp6024592"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Function template type_id_rtti_only</span></h2>
<p>boost::type_id_rtti_only</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header &lt;boost/type_index/type_index_impl.hpp&gt;">boost/type_index/type_index_impl.hpp</a>&gt;
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header &lt;boost/type_index/type_info.hpp&gt;">boost/type_index/type_info.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="identifier">type_id_rtti_only</span><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span> rtti_val<span class="special">)</span><span class="special">;</span></pre></div>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> <span class="identifier">type_id_rtti_only</span><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span> rtti_val<span class="special">)</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp62319888"></a><h2>Description</h2>
<p>Function, that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">boost::type_index</a></code>. This method available only with RTTI enabled. Without RTTI support it won't compile, producing a compile-time error with message: "boost::type_id_rtti_only(T*) requires RTTI" </p>
<a name="idp6318592"></a><h2>Description</h2>
<p>Function that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code>. This method available only with RTTI enabled. Without RTTI support it won't compile, producing a compile-time error with message: "boost::type_id_rtti_only(T*) requires RTTI" </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -48,7 +48,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="type_id_rtti_on_idp5430736.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost_typeindex/space_and_performance.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="type_id_rtti_on_idp6020784.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost_typeindex/space_and_performance.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -4,10 +4,10 @@
<title>Function template type_id_with_cvr</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header &lt;boost/type_index/type_index_impl.hpp&gt;">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header &lt;boost/type_index/type_info.hpp&gt;">
<link rel="prev" href="type_id.html" title="Function template type_id">
<link rel="next" href="type_id_rtti_on_idp5430736.html" title="Function template type_id_rtti_only">
<link rel="next" href="type_id_rtti_on_idp6020784.html" title="Function template type_id_rtti_only">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5430736.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp6020784.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.type_id_with_cvr"></a><div class="titlepage"></div>
@@ -29,13 +29,13 @@
<p>boost::type_id_with_cvr</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header &lt;boost/type_index/type_index_impl.hpp&gt;">boost/type_index/type_index_impl.hpp</a>&gt;
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header &lt;boost/type_index/type_info.hpp&gt;">boost/type_index/type_info.hpp</a>&gt;
</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="identifier">type_id_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> <span class="identifier">type_id_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp62297216"></a><h2>Description</h2>
<p>Function for constructing <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">type_index</a></code> instance for type T. Does not strip const, volatile, &amp; and &amp;&amp; modifiers from T. If T has no const, volatile, &amp; and &amp;&amp; modifiers, then returns exactly the same result as in case of calling `type_id&lt;T&gt;()`. </p>
<a name="idp6289696"></a><h2>Description</h2>
<p>Function for constructing <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code> instance for type T. Does not strip const, volatile, &amp; and &amp;&amp; modifiers from T. If T has no const, volatile, &amp; and &amp;&amp; modifiers, then returns exactly the same result as in case of calling `type_id&lt;T&gt;()`. </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -48,7 +48,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5430736.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp6020784.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -4,10 +4,10 @@
<title>Class type_index</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header &lt;boost/type_index/type_index_impl.hpp&gt;">
<link rel="prev" href="template_id_with_cvr.html" title="Function template template_id_with_cvr">
<link rel="next" href="type_id.html" title="Function template type_id">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_hpp" title="Header &lt;boost/type_index/type_index.hpp&gt;">
<link rel="prev" href="../boost_typeindex_header_reference.html" title="Boost.TypeIndex Header Reference">
<link rel="next" href="template_index.html" title="Type definition template_index">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -20,89 +20,87 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../boost_typeindex_header_reference.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.type_index"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class type_index</span></h2>
<p>boost::type_index &#8212; Copyable type_info class that requires RTTI. </p>
<p>boost::type_index</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header &lt;boost/type_index/type_index_impl.hpp&gt;">boost/type_index/type_index_impl.hpp</a>&gt;
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_hpp" title="Header &lt;boost/type_index/type_index.hpp&gt;">boost/type_index/type_index.hpp</a>&gt;
</span>
<span class="keyword">class</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// types</span>
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <a name="boost.type_index.stl_type_info"></a><span class="identifier">stl_type_info</span><span class="special">;</span>
<span class="comment">// <a class="link" href="type_index.html#boost.type_indexconstruct-copy-destruct">construct/copy/destruct</a></span>
<a class="link" href="type_index.html#idp5408016-bb"><span class="identifier">type_index</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">explicit</span> <a class="link" href="type_index.html#idp5408768-bb"><span class="identifier">type_index</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">stl_type_info</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<a class="link" href="type_index.html#idp5895792-bb"><span class="identifier">type_index</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<a class="link" href="type_index.html#idp5896544-bb"><span class="identifier">type_index</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<a class="link" href="type_index.html#idp5899552-bb"><span class="identifier">type_index</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="comment">// <a class="link" href="type_index.html#idp5401248-bb">public member functions</a></span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idp5401744-bb"><span class="identifier">before</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="type_index.html#idp5404144-bb"><span class="identifier">name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="type_index.html#idp5405392-bb"><span class="identifier">name_demangled</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="type_index.html#idp5406640-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="comment">// <a class="link" href="type_index.html#idp5411008-bb">public static functions</a></span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a class="link" href="type_index.html#idp5411504-bb"><span class="identifier">construct</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a class="link" href="type_index.html#idp5414624-bb"><span class="identifier">construct_with_cvr</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a class="link" href="type_index.html#idp5417968-bb"><span class="identifier">construct_rtti_only</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a class="link" href="type_index.html#idp5421472-bb"><span class="identifier">construct_rtti_only</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="type_index.html#idm26144-bb">public member functions</a></span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm25584-bb"><span class="identifier">before</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="type_index.html#idm22960-bb"><span class="identifier">name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="type_index.html#idm21552-bb"><span class="identifier">name_demangled</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm20128-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm18032-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm15936-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm13840-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm11744-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm9648-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm7552-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm5744-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm3936-bb"><span class="keyword">operator</span><span class="special">&lt;</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idp5889680-bb"><span class="keyword">operator</span><span class="special">&gt;</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idp5891184-bb"><span class="keyword">operator</span><span class="special">&lt;=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idp5892800-bb"><span class="keyword">operator</span><span class="special">&gt;=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="type_index.html#idp5894416-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp62200256"></a><h2>Description</h2>
<a name="idp5525104"></a><h2>Description</h2>
<p>This class is designed to be a drop-in replacement for C++11 std::type_index class.</p>
<p>Copyable std::type_index class that requires RTTI. When RTTI is disabled boost::template_index will be used instead of this class. </p>
<div class="refsect2">
<a name="idp62200640"></a><h3>
<a name="idp5526144"></a><h3>
<a name="boost.type_indexconstruct-copy-destruct"></a><code class="computeroutput">type_index</code>
public
construct/copy/destruct</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><a name="idp5408016-bb"></a><span class="identifier">type_index</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Default constructor. </li>
<pre class="literallayout"><a name="idp5895792-bb"></a><span class="identifier">type_index</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Default constructor. </li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">explicit</span> <a name="idp5408768-bb"></a><span class="identifier">type_index</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">stl_type_info</span> <span class="special">&amp;</span> inf<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Constructs <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">type_index</a></code> from an instance of std::type_info. </li>
<pre class="literallayout"><a name="idp5896544-bb"></a><span class="identifier">type_index</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> inf<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Constructs <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">type_index</a></code> from an instance of <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code>. </li>
<li class="listitem">
<pre class="literallayout"><a name="idp5899552-bb"></a><span class="identifier">type_index</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="special">&amp;</span> inf<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Constructs <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">type_index</a></code> from an instance of std::type_info. </li>
</ol></div>
</div>
<div class="refsect2">
<a name="idp62213920"></a><h3>
<a name="idp5401248-bb"></a><code class="computeroutput">type_index</code> public member functions</h3>
<a name="idp5547968"></a><h3>
<a name="idm26144-bb"></a><code class="computeroutput">type_index</code> public member functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><span class="keyword">bool</span> <a name="idp5401744-bb"></a><span class="identifier">before</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<pre class="literallayout"><span class="keyword">bool</span> <a name="idm25584-bb"></a><span class="identifier">before</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Returns true if the type precedes the type of rhs in the collation order. The collation order is just an internal order. </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idp5404144-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Returns raw name. </li>
<pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idm22960-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Returns raw name. </li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idp5405392-bb"></a><span class="identifier">name_demangled</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Returns user-friendly name. </li>
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idm21552-bb"></a><span class="identifier">name_demangled</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Returns user-friendly name. </li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm20128-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm18032-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm15936-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm13840-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm11744-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm9648-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm7552-bb"></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">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm5744-bb"></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">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm3936-bb"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5889680-bb"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5891184-bb"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5892800-bb"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp5406640-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Function for getting hash value. </li>
</ol></div>
</div>
<div class="refsect2">
<a name="idp62241392"></a><h3>
<a name="idp5411008-bb"></a><code class="computeroutput">type_index</code> public static functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a name="idp5411504-bb"></a><span class="identifier">construct</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">type_index</a></code> instance for type T. Strips const, volatile and &amp; modifiers from T. </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a name="idp5414624-bb"></a><span class="identifier">construct_with_cvr</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">type_index</a></code> instance for type T. Does not strip const, volatile, &amp; and &amp;&amp; modifiers from T. If T has no const, volatile, &amp; and &amp;&amp; modifiers, then returns exactly the same result as in case of calling `construct&lt;T&gt;()`. </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a name="idp5417968-bb"></a><span class="identifier">construct_rtti_only</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span> rtti_val<span class="special">)</span><span class="special">;</span></pre>
<p>Factory function, that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">boost::type_index</a></code>. This method available only with RTTI enabled. </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a name="idp5421472-bb"></a><span class="identifier">construct_rtti_only</span><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span> rtti_val<span class="special">)</span><span class="special">;</span></pre>
<p>Factory function, that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">boost::type_index</a></code>. This method available only with RTTI enabled. </p>
</li>
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp5894416-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Function for getting hash value. </li>
</ol></div>
</div>
</div>
@@ -117,7 +115,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../boost_typeindex_header_reference.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

126
boost/type_info.html Normal file
View File

@@ -0,0 +1,126 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Class type_info</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header &lt;boost/type_index/type_info.hpp&gt;">
<link rel="prev" href="template_id_with_cvr.html" title="Function template template_id_with_cvr">
<link rel="next" href="type_id.html" title="Function template type_id">
</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="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/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="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
<div class="refentry">
<a name="boost.type_info"></a><div class="titlepage"></div>
<div class="refnamediv">
<h2><span class="refentrytitle">Class type_info</span></h2>
<p>boost::type_info</p>
</div>
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header &lt;boost/type_index/type_info.hpp&gt;">boost/type_index/type_info.hpp</a>&gt;
</span>
<span class="keyword">class</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">{</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="comment">// <a class="link" href="type_info.html#idp5983008-bb">public static functions</a></span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> <span class="special">&amp;</span> <a class="link" href="type_info.html#idp5983504-bb"><span class="identifier">construct</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span>
<span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> <span class="special">&amp;</span> <a class="link" href="type_info.html#idp5986960-bb"><span class="identifier">construct_with_cvr</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span>
<span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> <a class="link" href="type_info.html#idp5990560-bb"><span class="identifier">construct_rtti_only</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> <a class="link" href="type_info.html#idp5994656-bb"><span class="identifier">construct_rtti_only</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="type_info.html#idp5998640-bb">public member functions</a></span>
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="type_info.html#idp5999136-bb"><span class="identifier">name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="type_info.html#idp6000384-bb"><span class="identifier">name_demangled</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_info.html#idp6001632-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_info.html#idp6003504-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_info.html#idp6005376-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_info.html#idp6006992-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_info.html#idp6008608-bb"><span class="identifier">before</span></a><span class="special">(</span><a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="keyword">bool</span> <a class="link" href="type_info.html#idp6011024-bb"><span class="identifier">before</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="type_info.html#idp6013184-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
<span class="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp6137136"></a><h2>Description</h2>
<p><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> is a class that can be used as a drop-in replacement for std::type_info.</p>
<p><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> class is used in situations when RTTI is enabled. When RTTI is disabled or BOOST_TYPE_INDEX_FORCE_NORTTI_COMPATIBILITY macro is defined <a class="link" href="template_info.html" title="Class template_info">boost::template_info</a> is used instead of it.</p>
<p>Unlike std::type_info this class: has a name_demangled() function for getting human-readable type names name() function always noexcept and returns simple mangled name as character a character array contains workarounds for some compiler issues </p>
<div class="refsect2">
<a name="idp6141008"></a><h3>
<a name="idp5983008-bb"></a><code class="computeroutput">type_info</code> public static functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> <span class="special">&amp;</span> <a name="idp5983504-bb"></a><span class="identifier">construct</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code> instance for type T. Strips const, volatile and &amp; modifiers from T. </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span>
<span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> <span class="special">&amp;</span> <a name="idp5986960-bb"></a><span class="identifier">construct_with_cvr</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code> instance for type T. Does not strip const, volatile, &amp; and &amp;&amp; modifiers from T. If T has no const, volatile, &amp; and &amp;&amp; modifiers, then returns exactly the same result as in case of calling `construct&lt;T&gt;()`. </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span>
<span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> <a name="idp5990560-bb"></a><span class="identifier">construct_rtti_only</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span> rtti_val<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Factory function, that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code>. This method available only with RTTI enabled. </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span>
<span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> <a name="idp5994656-bb"></a><span class="identifier">construct_rtti_only</span><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span> rtti_val<span class="special">)</span><span class="special">;</span></pre>
<p>Factory function, that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code>. This method available only with RTTI enabled. </p>
</li>
</ol></div>
</div>
<div class="refsect2">
<a name="idp6190320"></a><h3>
<a name="idp5998640-bb"></a><code class="computeroutput">type_info</code> public member functions</h3>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
<pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idp5999136-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Returns mangled type name. </li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idp6000384-bb"></a><span class="identifier">name_demangled</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Returns user-friendly name. </li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp6001632-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp6003504-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp6005376-bb"></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">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp6006992-bb"></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">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">bool</span> <a name="idp6008608-bb"></a><span class="identifier">before</span><span class="special">(</span><a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Returns true if the type precedes the type of rhs in the collation order. The collation order is just an internal order. Works exactly like operator &lt; </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">bool</span> <a name="idp6011024-bb"></a><span class="identifier">before</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
<p>Returns true if the type precedes the type of rhs in the collation order. The collation order is just an internal order. Works exactly like operator &lt; </p>
</li>
<li class="listitem">
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp6013184-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Function for getting hash value. </li>
</ol></div>
</div>
</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 &#169; 2012, 2013 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="template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -4,8 +4,8 @@
<title>Code bloat</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="prev" href="space_and_performance.html" title="Space and Performance">
<link rel="next" href="compiler_support.html" title="Compiler support">
</head>
@@ -27,14 +27,16 @@
<a name="boost_typeindex.code_bloat"></a><a class="link" href="code_bloat.html" title="Code bloat">Code bloat</a>
</h2></div></div></div>
<p>
Without RTTI TypeIndex library will switch from using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code>
class to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_index</span></code>. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_index</span></code>
uses the <code class="computeroutput"><span class="identifier">BOOST_CURRENT_FUNCTION</span></code>
for each type that is passed to <code class="computeroutput"><span class="identifier">type_id</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">type_id_with_cvr</span><span class="special">()</span></code> functions.
Without RTTI TypeIndex library will switch from using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span></code>
class to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_info</span></code>. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_info</span></code>
uses macro for getting full text representation of function name for each type
that is passed to <code class="computeroutput"><span class="identifier">type_id</span><span class="special">()</span></code>
and <code class="computeroutput"><span class="identifier">type_id_with_cvr</span><span class="special">()</span></code>
functions.
</p>
<p>
This leads to big strings in binary file:
</p>
</p>
<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">ctti</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">n</span><span class="special">()</span> <span class="special">[</span><span class="identifier">with</span> <span class="identifier">T</span> <span class="special">=</span> <span class="keyword">int</span><span class="special">]</span>
<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">ctti</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">n</span><span class="special">()</span> <span class="special">[</span><span class="identifier">with</span> <span class="identifier">T</span> <span class="special">=</span> <span class="identifier">user_defined_type</span><span class="special">]</span>
</pre>
@@ -42,13 +44,9 @@
While using RTTI, you'll get the following (more compact) string in binary
file:
</p>
<p>
</p>
<pre class="programlisting"><span class="identifier">i</span>
<span class="number">17u</span><span class="identifier">ser_defined_type</span>
</pre>
<p>
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>

View File

@@ -4,10 +4,10 @@
<title>Compiler support</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="prev" href="code_bloat.html" title="Code bloat">
<link rel="next" href="mixing_sources_with_rtti_on_and_rtti_off.html" title="Mixing sources with RTTI on and RTTI off">
<link rel="next" href="mixing_sources_with_rtti_on_and_.html" title="Mixing sources with RTTI on and RTTI off">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -20,27 +20,33 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mixing_sources_with_rtti_on_and_rtti_off.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mixing_sources_with_rtti_on_and_.html"><img src="http://www.boost.org/doc/libs/1_53_0/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.compiler_support"></a><a class="link" href="compiler_support.html" title="Compiler support">Compiler support</a>
</h2></div></div></div>
<p>
TypeIndex has been tested and sucessfully work on MSVC2010, GCC-4.5, Clang-2.9.
TypeIndex has been tested and successfully work on MSVC2010, GCC-4.5, Clang-2.9.
If your compiler is not in a list of tested compilers, you shall correctly
define <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
define <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_FUNCTION_SIGNATURE</span></code>,
<code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
and <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_END_SKIP</span></code>
macroses:
</p>
<div class="orderedlist"><ol class="orderedlist" type="1">
<li class="listitem">
define <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_FUNCTION_SIGNATURE</span></code>
to a a compiler specific macro, that outputs the <span class="bold"><strong>whole</strong></span>
function signature, including template parameters
</li>
<li class="listitem">
define <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
and <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_END_SKIP</span></code>
to <code class="computeroutput"><span class="number">0</span></code>
</li>
<li class="listitem">
get the output of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">ctti</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">n</span><span class="special">()</span></code>
get the output of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_id</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;().</span><span class="identifier">name</span><span class="special">()</span></code>
</li>
<li class="listitem">
set <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
@@ -53,22 +59,27 @@
in output
</li>
<li class="listitem">
check that <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">ctti</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">name_demangled</span><span class="special">()</span></code>
check that <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_id</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;().</span><span class="identifier">name_demangled</span><span class="special">()</span></code>
returns "int"
</li>
<li class="listitem">
(optional, but highly recomended) <a href="http://www.boost.org/support/bugs.html" target="_top">create
ticket</a> with feature request to add your compiler to supported compilers
list. Include <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
list. Include <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_FUNCTION_SIGNATURE</span></code>,
<code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
and <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_END_SKIP</span></code>
numbers.
values.
</li>
</ol></div>
<p>
Consider the following example: With <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
Consider the following example:
</p>
<p>
With <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
and <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_END_SKIP</span></code>
set to <code class="computeroutput"><span class="number">0</span></code>, <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">ctti</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">n</span><span class="special">()</span></code> returns "const char *__cdecl boost::detail::ctti&lt;int&gt;::n(void)".
Then you shall set <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
set to <code class="computeroutput"><span class="number">0</span></code>, <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_id</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;().</span><span class="identifier">name</span><span class="special">()</span></code> returns
"const char *__cdecl boost::detail::ctti&lt;int&gt;::n(void)". Then
you shall set <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
to <code class="computeroutput"><span class="keyword">sizeof</span><span class="special">(</span><span class="string">"const char *__cdecl boost::detail::ctti&lt;"</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span></code>
and <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_END_SKIP</span></code>
to <code class="computeroutput"><span class="keyword">sizeof</span><span class="special">(</span><span class="string">"&gt;::n(void)"</span><span class="special">)</span>
@@ -85,7 +96,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mixing_sources_with_rtti_on_and_rtti_off.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mixing_sources_with_rtti_on_and_.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -4,8 +4,8 @@
<title>Examples</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="prev" href="getting_started.html" title="Getting started">
<link rel="next" href="../boost_typeindex_header_reference.html" title="Boost.TypeIndex Header Reference">
</head>
@@ -27,27 +27,25 @@
<a name="boost_typeindex.examples"></a><a class="link" href="examples.html" title="Examples">Examples</a>
</h2></div></div></div>
<div class="toc"><dl>
<dt><span class="section"><a href="examples.html#boost_typeindex.examples.getting_human_readable_and_mangled_type_names">Getting
<dt><span class="section"><a href="examples.html#boost_typeindex.examples.getting_human_readable_and_mangl">Getting
human readable and mangled type names</a></span></dt>
<dt><span class="section"><a href="examples.html#boost_typeindex.examples.storing_information_about_a_type_in_container_">Storing
<dt><span class="section"><a href="examples.html#boost_typeindex.examples.storing_information_about_a_type">Storing
information about a type in container </a></span></dt>
<dt><span class="section"><a href="examples.html#boost_typeindex.examples.getting_through_the_inheritance_to_receive_a_real_type_name_">Getting
<dt><span class="section"><a href="examples.html#boost_typeindex.examples.getting_through_the_inheritance_">Getting
through the inheritance to receive a real type name </a></span></dt>
<dt><span class="section"><a href="examples.html#boost_typeindex.examples.exact_type_match__storing_type_with_const__volatile_and_reference_">Exact
<dt><span class="section"><a href="examples.html#boost_typeindex.examples.exact_type_match_storing_type_wi">Exact
type match: storing type with const, volatile and reference </a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_typeindex.examples.getting_human_readable_and_mangled_type_names"></a><a class="link" href="examples.html#boost_typeindex.examples.getting_human_readable_and_mangled_type_names" title="Getting human readable and mangled type names">Getting
<a name="boost_typeindex.examples.getting_human_readable_and_mangl"></a><a class="link" href="examples.html#boost_typeindex.examples.getting_human_readable_and_mangl" title="Getting human readable and mangled type names">Getting
human readable and mangled type names</a>
</h3></div></div></div>
<p>
The following example shows how short (mangled) and human readable type names
could be obtained from a type. Works with and without RTTI.
</p>
<p>
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_index_minimal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_info</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
@@ -76,8 +74,6 @@
<span class="comment">// Readable name: user_defined_type user_defined_type</span>
<span class="special">}</span>
</pre>
<p>
</p>
<p>
Short names are very compiler dependant: some compiler will output <code class="computeroutput"><span class="special">.</span><span class="identifier">H</span></code>, others
<code class="computeroutput"><span class="identifier">i</span></code>.
@@ -89,16 +85,14 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_typeindex.examples.storing_information_about_a_type_in_container_"></a><a class="link" href="examples.html#boost_typeindex.examples.storing_information_about_a_type_in_container_" title="Storing information about a type in container">Storing
<a name="boost_typeindex.examples.storing_information_about_a_type"></a><a class="link" href="examples.html#boost_typeindex.examples.storing_information_about_a_type" title="Storing information about a type in container">Storing
information about a type in container </a>
</h3></div></div></div>
<p>
The following example shows how an information about a type could be stored.
Example works with and without RTTI.
</p>
<p>
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_index_minimal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">unordered_set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cassert</span><span class="special">&gt;</span>
@@ -121,24 +115,22 @@
<span class="identifier">assert</span><span class="special">(*</span><span class="identifier">types</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;());</span>
<span class="special">}</span>
</pre>
<p>
</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_typeindex.examples.getting_through_the_inheritance_to_receive_a_real_type_name_"></a><a class="link" href="examples.html#boost_typeindex.examples.getting_through_the_inheritance_to_receive_a_real_type_name_" title="Getting through the inheritance to receive a real type name">Getting
<a name="boost_typeindex.examples.getting_through_the_inheritance_"></a><a class="link" href="examples.html#boost_typeindex.examples.getting_through_the_inheritance_" title="Getting through the inheritance to receive a real type name">Getting
through the inheritance to receive a real type name </a>
</h3></div></div></div>
<p>
The following example shows that <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code>
The following example shows that <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span></code>
is able to store the real type, successfully getting through all the inheritances.
</p>
<p>
Example works with RTTI only. Without RTTI support it won't compile, producing
a compile-time error with message: "boost::type_id_rtti_only(T&amp;)
requires RTTI"
</p>
<p>
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_index_minimal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_info</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">A</span><span class="special">(){}</span> <span class="special">};</span>
@@ -156,18 +148,17 @@
<span class="identifier">print_real_type</span><span class="special">(</span><span class="identifier">B</span><span class="special">());</span> <span class="comment">// Outputs `struct B`</span>
<span class="special">}</span>
</pre>
<p>
</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_typeindex.examples.exact_type_match__storing_type_with_const__volatile_and_reference_"></a><a class="link" href="examples.html#boost_typeindex.examples.exact_type_match__storing_type_with_const__volatile_and_reference_" title="Exact type match: storing type with const, volatile and reference">Exact
<a name="boost_typeindex.examples.exact_type_match_storing_type_wi"></a><a class="link" href="examples.html#boost_typeindex.examples.exact_type_match_storing_type_wi" title="Exact type match: storing type with const, volatile and reference">Exact
type match: storing type with const, volatile and reference </a>
</h3></div></div></div>
<p>
The following example shows that <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_index</span></code>
is able to store the exact type, without stripping const, volatile and references.
Example works with and without RTTI.
The following example shows that <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code>
(and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span></code>) is able to store the exact type,
without stripping const, volatile and references. Example works with and
without RTTI.
</p>
<p>
In this example we'll create a class, that stores pointer to function and
@@ -175,27 +166,25 @@
to call the stored function will be made, type of input parameter will be
checked for exact match with initaily erased type of function.
</p>
<p>
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">stdexcept</span><span class="special">&gt;</span>
<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cassert</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">type_erased_unary_function</span> <span class="special">{</span>
<span class="keyword">void</span><span class="special">*</span> <span class="identifier">function_ptr_</span><span class="special">;</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_index</span> <span class="identifier">exact_param_t_</span><span class="special">;</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span> <span class="identifier">exact_param_t_</span><span class="special">;</span>
<span class="keyword">public</span><span class="special">:</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ParamT</span><span class="special">&gt;</span>
<span class="identifier">type_erased_unary_function</span><span class="special">(</span><span class="keyword">void</span><span class="special">(*</span><span class="identifier">ptr</span><span class="special">)(</span><span class="identifier">ParamT</span><span class="special">))</span>
<span class="special">:</span> <span class="identifier">function_ptr_</span><span class="special">(</span><span class="keyword">reinterpret_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">*&gt;(</span><span class="identifier">ptr</span><span class="special">))</span> <span class="comment">// ptr - is a pointer to function returning `void` and accepting parameter of type `ParamT`</span>
<span class="special">,</span> <span class="identifier">exact_param_t_</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_id_with_cvr</span><span class="special">&lt;</span><span class="identifier">ParamT</span><span class="special">&gt;())</span>
<span class="special">,</span> <span class="identifier">exact_param_t_</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id_with_cvr</span><span class="special">&lt;</span><span class="identifier">ParamT</span><span class="special">&gt;())</span>
<span class="special">{}</span>
<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ParamT</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="identifier">call</span><span class="special">(</span><span class="identifier">ParamT</span> <span class="identifier">v</span><span class="special">)</span> <span class="special">{</span>
<span class="keyword">if</span> <span class="special">(</span><span class="identifier">exact_param_t_</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_id_with_cvr</span><span class="special">&lt;</span><span class="identifier">ParamT</span><span class="special">&gt;())</span> <span class="special">{</span>
<span class="keyword">if</span> <span class="special">(</span><span class="identifier">exact_param_t_</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id_with_cvr</span><span class="special">&lt;</span><span class="identifier">ParamT</span><span class="special">&gt;())</span> <span class="special">{</span>
<span class="keyword">throw</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">runtime_error</span><span class="special">(</span><span class="string">"Incorrect `ParamT`"</span><span class="special">);</span>
<span class="special">}</span>
@@ -219,8 +208,6 @@
<span class="special">}</span> <span class="keyword">catch</span> <span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">runtime_error</span><span class="special">&amp;</span> <span class="comment">/*e*/</span><span class="special">)</span> <span class="special">{}</span>
<span class="special">}</span>
</pre>
<p>
</p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@@ -4,9 +4,9 @@
<title>Getting started</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="prev" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="prev" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="next" href="examples.html" title="Examples">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -27,19 +27,35 @@
<a name="boost_typeindex.getting_started"></a><a class="link" href="getting_started.html" title="Getting started">Getting started</a>
</h2></div></div></div>
<p>
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code> can be used as a drop-in replacement
for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code>, but it usually does not require
RTTI. It provides the full set of comparison operators, hashing functions and
ostream operators, so it can be used with any container class.
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span></code> is a drop-in replacement for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code>
and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code> is a drop-in replacement for
<code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code>. Unlike Standard Library versions
those classes usually do not require RTTI.
</p>
<p>
To start using it:
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code> provides the full set of comparison
operators, hashing functions and ostream operators, so it can be used with
any container class.
</p>
<p>
To start using Boost.TypeIndex:
</p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
Replace headers:
<div class="itemizedlist"><ul class="itemizedlist" type="circle">
<li class="listitem">
Use <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> instead of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">typeindex</span><span class="special">&gt;</span></code>
</li>
<li class="listitem">
Use <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_info</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> instead of <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">typeinfo</span><span class="special">&gt;</span></code>
</li>
</ul></div>
</li>
<li class="listitem">
Replace <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code>, <code class="computeroutput"><span class="keyword">const</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">&amp;</span></code>,
<code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">*</span></code> with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code>.
<span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">&amp;</span></code>
and <code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">*</span></code> variables with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code>.
</li>
<li class="listitem">
If you do not want to save <code class="computeroutput"><span class="keyword">const</span></code>,
@@ -62,8 +78,10 @@
</li></ul></div>
</li>
<li class="listitem">
<p class="simpara">
To get nice human readable names, use the <code class="computeroutput"><span class="identifier">name_demangled</span><span class="special">()</span></code> member function:
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_index_minimal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
</p>
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
<span class="identifier">type_index</span> <span class="identifier">ti</span> <span class="special">=</span> <span class="identifier">type_id</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;();</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">nice_name</span>
@@ -72,7 +90,7 @@
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">nice_name_with_const_volatile_ref</span>
<span class="special">=</span> <span class="identifier">type_id_with_cvr</span><span class="special">&lt;</span><span class="identifier">ParamT</span><span class="special">&amp;&gt;().</span><span class="identifier">name_demangled</span><span class="special">();</span>
</pre>
</li>
</li>
</ul></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@@ -4,8 +4,8 @@
<title>Mixing sources with RTTI on and RTTI off</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="prev" href="compiler_support.html" title="Compiler support">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -23,16 +23,17 @@
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_typeindex.mixing_sources_with_rtti_on_and_rtti_off"></a><a class="link" href="mixing_sources_with_rtti_on_and_rtti_off.html" title="Mixing sources with RTTI on and RTTI off">Mixing
<a name="boost_typeindex.mixing_sources_with_rtti_on_and_"></a><a class="link" href="mixing_sources_with_rtti_on_and_.html" title="Mixing sources with RTTI on and RTTI off">Mixing
sources with RTTI on and RTTI off</a>
</h2></div></div></div>
<p>
Linking a binary from source files that were compiled with different RTTI flags
is not a very good idea and may lead to a lot of surprises. However if there
is a very strong need TypeIndex library provides a solution for mixing sources:
is a very strong need, TypeIndex library provides a solution for mixing sources:
just define <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_FORCE_NORTTI_COMPATIBILITY</span></code>
macro. This would lead to usage of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_index</span></code>
instead of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code> class.
instead of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code> class and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_info</span></code>
instead of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span></code> class.
</p>
<div class="note"><table border="0" summary="Note">
<tr>
@@ -54,7 +55,7 @@
flags:
</p>
<div class="informaltable">
<a name="boost_typeindex.mixing_sources_with_rtti_on_and_rtti_off.diffs"></a><table class="table">
<a name="boost_typeindex.mixing_sources_with_rtti_on_and_.diffs"></a><table class="table">
<colgroup>
<col>
<col>
@@ -88,6 +89,17 @@
<p>
Such differences are usually not detected by linker and lead to errors at runtime.
</p>
<div class="warning"><table border="0" summary="Warning">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/warning.png"></td>
<th align="left">Warning</th>
</tr>
<tr><td align="left" valign="top"><p>
Even with <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_FORCE_NORTTI_COMPATIBILITY</span></code>
defined there is no guarantee that everything will be OK. Libraries that
use their own workarounds for disabled RTTI may fail to link orwork correctly.
</p></td></tr>
</table></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>

View File

@@ -4,9 +4,9 @@
<title>Space and Performance</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="prev" href="../boost/type_id_rtti_on_idp5434192.html" title="Function template type_id_rtti_only">
<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="prev" href="../boost/type_id_rtti_on_idp6024592.html" title="Function template type_id_rtti_only">
<link rel="next" href="code_bloat.html" title="Code bloat">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../boost/type_id_rtti_on_idp5434192.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../boost/type_id_rtti_on_idp6024592.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -28,9 +28,9 @@
</h2></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem">
<code class="computeroutput"><span class="identifier">template_index</span></code> uses the
<code class="computeroutput"><span class="identifier">BOOST_CURRENT_FUNCTION</span></code>
macro which could lead to code bloat, so prefer using <code class="computeroutput"><span class="identifier">type_index</span></code>
<code class="computeroutput"><span class="identifier">template_info</span></code> uses macro
for getting full text representation of function name which could lead
to code bloat, so prefer using <code class="computeroutput"><span class="identifier">type_info</span></code>
type.
</li>
<li class="listitem">
@@ -47,15 +47,9 @@
execute a single <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">strcmp</span></code>.
</li>
<li class="listitem">
Calls to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name_demangled</span><span class="special">()</span></code> for <code class="computeroutput"><span class="identifier">type_index</span></code>
do usually require dynamic memory allocation and some computations, so
they are not recomended for usage in performance critical sections.
</li>
<li class="listitem">
Calls to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name_demangled</span><span class="special">()</span></code> for <code class="computeroutput"><span class="identifier">template_index</span></code>
only require a single <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">strlen</span></code>
call and are considerably faster than <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name_demangled</span><span class="special">()</span></code>
for <code class="computeroutput"><span class="identifier">type_index</span></code>.
Calls to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name_demangled</span><span class="special">()</span></code> usually require dynamic memory allocation
and some computations, so they are not recommended for usage in performance
critical sections.
</li>
</ul></div>
</div>
@@ -69,7 +63,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../boost/type_id_rtti_on_idp5434192.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="../boost/type_id_rtti_on_idp6024592.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -4,10 +4,10 @@
<title>Boost.TypeIndex Header Reference</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="up" href="index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="up" href="index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="prev" href="boost_typeindex/examples.html" title="Examples">
<link rel="next" href="boost/template_index.html" title="Class template_index">
<link rel="next" href="boost/type_index.html" title="Class type_index">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
@@ -20,63 +20,99 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost_typeindex/examples.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/template_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="boost_typeindex/examples.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/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>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index_hpp">Header &lt;boost/type_index.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp">Header &lt;boost/type_index/template_index_impl.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp">Header &lt;boost/type_index/type_index_impl.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_minimal_hpp">Header &lt;boost/type_index/type_index_minimal.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_hpp">Header &lt;boost/type_index/type_index.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.template_index_hpp">Header &lt;boost/type_index/template_index.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp">Header &lt;boost/type_index/template_info.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp">Header &lt;boost/type_index/type_info.hpp&gt;</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 &lt;<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index.hpp" target="_top">boost/type_index.hpp</a>&gt;</h3></div></div></div>
<p>Includes all the headers of the Boost.TypeIndex library. </p>
<p>By inclusion of this file both classes (`type_index` (if RTTI is on) and `template_index`) will be available. Consider including `&lt;boost/type_index/type_index_minimal.hpp&gt;` if you do not whant to include `template_index` class while RTTI is available (this is recommended). </p>
<p>By inclusion of this file all classes (<a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> + <a class="link" href="boost/type_index.html" title="Class type_index">boost::type_index</a> if RTTI is on and <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a> + boost::template_index) will be available.</p>
<p>Consider including &lt;boost/type_index/type_index.hpp&gt; if you do not whant to include <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a> and boost::template_index class while RTTI is available.</p>
<p>Consider including &lt;boost/type_index/type_info.hpp&gt; if you need only <a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> class and boost::type_id* functions. </p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.type_index.template_index_impl_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/template_index_impl.hpp" target="_top">boost/type_index/template_index_impl.hpp</a>&gt;</h3></div></div></div>
<p>Contains implementation of template_index class. </p>
<p>Here is defined the `boost::template_index` class, that is used instead of `boost::type_index` class in situations when RTTI is disabled.</p>
<p>Consider including `&lt;boost/type_index/type_index_minimal.hpp&gt;` or `&lt;boost/type_index.hpp&gt;` instead of this file. </p>
<a name="header.boost.type_index.type_index_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/type_index.hpp" target="_top">boost/type_index/type_index.hpp</a>&gt;</h3></div></div></div>
<p>Contains implementation of <a class="link" href="boost/type_index.html" title="Class type_index">boost::type_index</a> class. </p>
<p><a class="link" href="boost/type_index.html" title="Class type_index">boost::type_index</a> class is used in situations when RTTI is enabled, it is designed to be a drop-in replacement for C++11 std::type_index class.</p>
<p>When RTTI is disabled boost::template_index will be used instead of this class. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
<span class="keyword">class</span> <a class="link" href="boost/template_index.html" title="Class template_index">template_index</a><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="boost/template_index.html" title="Class template_index">template_index</a> <a class="link" href="boost/template_id.html" title="Function template template_id"><span class="identifier">template_id</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="boost/template_index.html" title="Class template_index">template_index</a> <a class="link" href="boost/template_id_with_cvr.html" title="Function template template_id_with_cvr"><span class="identifier">template_id_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">class</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a><span class="special">;</span>
<span class="keyword">bool</span> <a name="boost.operator==_idp5901552"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="emphasis"><em><span class="identifier">unspecified</span></em></span> lhs<span class="special">,</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="keyword">bool</span> <a name="boost.operator!=_idp5903936"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="emphasis"><em><span class="identifier">unspecified</span></em></span> lhs<span class="special">,</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="keyword">bool</span> <a name="boost.operator_idp5906320"></a><span class="keyword">operator</span><span class="special">&lt;</span><span class="special">(</span><span class="emphasis"><em><span class="identifier">unspecified</span></em></span> lhs<span class="special">,</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="keyword">bool</span> <a name="boost.operator_idp5908704"></a><span class="keyword">operator</span><span class="special">&gt;</span><span class="special">(</span><span class="emphasis"><em><span class="identifier">unspecified</span></em></span> lhs<span class="special">,</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="keyword">bool</span> <a name="boost.operator_=_idp5911088"></a><span class="keyword">operator</span><span class="special">&lt;=</span><span class="special">(</span><span class="emphasis"><em><span class="identifier">unspecified</span></em></span> lhs<span class="special">,</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="keyword">bool</span> <a name="boost.operator_=_idp5913472"></a><span class="keyword">operator</span><span class="special">&gt;=</span><span class="special">(</span><span class="emphasis"><em><span class="identifier">unspecified</span></em></span> lhs<span class="special">,</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</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">&lt;</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> TriatT<span class="special">&gt;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">&gt;</span> <span class="special">&amp;</span>
<a name="boost.operator_idm17536"></a><span class="keyword">operator</span><span class="special">&lt;&lt;</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">&gt;</span> <span class="special">&amp;</span> ostr<span class="special">,</span>
<a class="link" href="boost/template_index.html" title="Class template_index">template_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> ind<span class="special">)</span><span class="special">;</span>
<a name="boost.operator_idp5915856"></a><span class="keyword">operator</span><span class="special">&lt;&lt;</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">&gt;</span> <span class="special">&amp;</span> ostr<span class="special">,</span>
<a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> ind<span class="special">)</span><span class="special">;</span>
<span class="comment">// hash_value function overload for <a class="link" href="boost/template_index.html" title="Class template_index">template_index</a></span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.hash_value"></a><span class="identifier">hash_value</span><span class="special">(</span><a class="link" href="boost/template_index.html" title="Class template_index">template_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> v<span class="special">)</span><span class="special">;</span>
<span class="comment">// hash_value function overload for <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a>. </span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.hash_value_idp5919616"></a><span class="identifier">hash_value</span><span class="special">(</span><a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&amp;</span> v<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_impl_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/type_index_impl.hpp" target="_top">boost/type_index/type_index_impl.hpp</a>&gt;</h3></div></div></div>
<p>Contains implementation of type_index class. </p>
<p>Here is defined the type_index class, that is used in situations when RTTI is enabled. Consider including `&lt;boost/type_index/type_index_minimal.hpp&gt;` or `&lt;boost/type_index.hpp&gt;` instead of this file. </p>
<a name="header.boost.type_index.template_index_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/template_index.hpp" target="_top">boost/type_index/template_index.hpp</a>&gt;</h3></div></div></div>
<p>Contains implementation of boost::template_index class. </p>
<p>boost::template_index is just a typedef of <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a>, that combines functionality of <a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> and <a class="link" href="boost/type_index.html" title="Class type_index">boost::type_index</a> but can work with RTTI disabled. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
<span class="keyword">class</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <a class="link" href="boost/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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <a class="link" href="boost/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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <a class="link" href="boost/type_id_rtti_on_idp5430736.html" title="Function template type_id_rtti_only"><span class="identifier">type_id_rtti_only</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <a class="link" href="boost/type_id_rtti_on_idp5434192.html" title="Function template type_id_rtti_only"><span class="identifier">type_id_rtti_only</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">typedef</span> <a class="link" href="boost/template_info.html" title="Class template_info">template_info</a> <a class="link" href="boost/template_index.html" title="Type definition template_index"><span class="identifier">template_index</span></a><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_minimal_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/type_index_minimal.hpp" target="_top">boost/type_index/type_index_minimal.hpp</a>&gt;</h3></div></div></div>
<p>This is the header that required for ussage of type_index with/without RTTI. </p>
<p>It includes only the minamally required headers and does the `typedef template_index type_index;` when RTTI is disabled.</p>
<p>Define the BOOST_TYPE_INDEX_FORCE_NORTTI_COMPATIBILITY macro if you are mixing objects compiled with different RTTI flags. </p>
<a name="header.boost.type_index.template_info_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/template_info.hpp" target="_top">boost/type_index/template_info.hpp</a>&gt;</h3></div></div></div>
<p>Contains implementation of <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a> class. </p>
<p><a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a> class is used instead of <a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> and <a class="link" href="boost/type_index.html" title="Class type_index">boost::type_index</a> classes in situations when RTTI is disabled.</p>
<p>It combines functionality of std::type_info and std::type_index. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
<span class="keyword">class</span> <a class="link" href="boost/template_info.html" title="Class template_info">template_info</a><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="boost/template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> <a class="link" href="boost/template_id.html" title="Function template template_id"><span class="identifier">template_id</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="boost/template_info.html" title="Class template_info">template_info</a> <span class="special">&amp;</span> <a class="link" href="boost/template_id_with_cvr.html" title="Function template template_id_with_cvr"><span class="identifier">template_id_with_cvr</span></a><span class="special">(</span><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">&lt;</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> TriatT<span class="special">&gt;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">&gt;</span> <span class="special">&amp;</span>
<a name="boost.operator_idp5968832"></a><span class="keyword">operator</span><span class="special">&lt;&lt;</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">&gt;</span> <span class="special">&amp;</span> ostr<span class="special">,</span>
<a class="link" href="boost/template_info.html" title="Class template_info">template_info</a> <span class="keyword">const</span> <span class="special">&amp;</span> ind<span class="special">)</span><span class="special">;</span>
<span class="comment">// hash_value function overload for <a class="link" href="boost/template_info.html" title="Class template_info">template_info</a></span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.hash_value_idp5972592"></a><span class="identifier">hash_value</span><span class="special">(</span><a class="link" href="boost/template_info.html" title="Class template_info">template_info</a> <span class="keyword">const</span> <span class="special">&amp;</span> v<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_info_hpp"></a>Header &lt;<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/type_info.hpp" target="_top">boost/type_index/type_info.hpp</a>&gt;</h3></div></div></div>
<p>Contains implementation of <a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> class. </p>
<p><a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> class can be used as a drop-in replacement for std::type_info, but unlike std::type_info this class has a name_demangled() function for getting human-readable type names.</p>
<p><a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> class is used in situations when RTTI is enabled. When RTTI is disabled or BOOST_TYPE_INDEX_FORCE_NORTTI_COMPATIBILITY macro is defined <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a> is used instead of it. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
<span class="keyword">class</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> <a class="link" href="boost/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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> <a class="link" href="boost/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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> <a class="link" href="boost/type_id_rtti_on_idp6020784.html" title="Function template type_id_rtti_only"><span class="identifier">type_id_rtti_only</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">const</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="special">&amp;</span> <a class="link" href="boost/type_id_rtti_on_idp6024592.html" title="Function template type_id_rtti_only"><span class="identifier">type_id_rtti_only</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">bool</span> <a name="boost.operator==_idp6028400"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="emphasis"><em><span class="identifier">unspecified</span></em></span> lhs<span class="special">,</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="keyword">bool</span> <a name="boost.operator!=_idp6030784"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="emphasis"><em><span class="identifier">unspecified</span></em></span> lhs<span class="special">,</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>
<span class="comment">// hash_value function overload for <a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a>. </span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.hash_value_idp6033168"></a><span class="identifier">hash_value</span><span class="special">(</span><a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&amp;</span> v<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>
@@ -89,7 +125,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost_typeindex/examples.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/template_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
<a accesskey="p" href="boost_typeindex/examples.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>

View File

@@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Chapter&#160;1.&#160;Boost.TypeIndex 1.0</title>
<title>Chapter&#160;1.&#160;Boost.TypeIndex 2.0</title>
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 1.0">
<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Boost.TypeIndex 2.0">
<link rel="next" href="boost_typeindex/getting_started.html" title="Getting started">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -21,7 +21,7 @@
<div class="chapter">
<div class="titlepage"><div>
<div><h2 class="title">
<a name="boost_typeindex"></a>Chapter&#160;1.&#160;Boost.TypeIndex 1.0</h2></div>
<a name="boost_typeindex"></a>Chapter&#160;1.&#160;Boost.TypeIndex 2.0</h2></div>
<div><p class="copyright">Copyright &#169; 2012, 2013 Antony Polukhin</p></div>
<div><div class="legalnotice">
<a name="boost_typeindex.legal"></a><p>
@@ -37,26 +37,27 @@
<dt><span class="section"><a href="boost_typeindex/getting_started.html">Getting started</a></span></dt>
<dt><span class="section"><a href="boost_typeindex/examples.html">Examples</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="boost_typeindex/examples.html#boost_typeindex.examples.getting_human_readable_and_mangled_type_names">Getting
<dt><span class="section"><a href="boost_typeindex/examples.html#boost_typeindex.examples.getting_human_readable_and_mangl">Getting
human readable and mangled type names</a></span></dt>
<dt><span class="section"><a href="boost_typeindex/examples.html#boost_typeindex.examples.storing_information_about_a_type_in_container_">Storing
<dt><span class="section"><a href="boost_typeindex/examples.html#boost_typeindex.examples.storing_information_about_a_type">Storing
information about a type in container </a></span></dt>
<dt><span class="section"><a href="boost_typeindex/examples.html#boost_typeindex.examples.getting_through_the_inheritance_to_receive_a_real_type_name_">Getting
<dt><span class="section"><a href="boost_typeindex/examples.html#boost_typeindex.examples.getting_through_the_inheritance_">Getting
through the inheritance to receive a real type name </a></span></dt>
<dt><span class="section"><a href="boost_typeindex/examples.html#boost_typeindex.examples.exact_type_match__storing_type_with_const__volatile_and_reference_">Exact
<dt><span class="section"><a href="boost_typeindex/examples.html#boost_typeindex.examples.exact_type_match_storing_type_wi">Exact
type match: storing type with const, volatile and reference </a></span></dt>
</dl></dd>
<dt><span class="section"><a href="boost_typeindex_header_reference.html">Boost.TypeIndex Header Reference</a></span></dt>
<dd><dl>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index_hpp">Header &lt;boost/type_index.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.template_index_impl_hpp">Header &lt;boost/type_index/template_index_impl.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp">Header &lt;boost/type_index/type_index_impl.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_minimal_hpp">Header &lt;boost/type_index/type_index_minimal.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_hpp">Header &lt;boost/type_index/type_index.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.template_index_hpp">Header &lt;boost/type_index/template_index.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp">Header &lt;boost/type_index/template_info.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp">Header &lt;boost/type_index/type_info.hpp&gt;</a></span></dt>
</dl></dd>
<dt><span class="section"><a href="boost_typeindex/space_and_performance.html">Space and Performance</a></span></dt>
<dt><span class="section"><a href="boost_typeindex/code_bloat.html">Code bloat</a></span></dt>
<dt><span class="section"><a href="boost_typeindex/compiler_support.html">Compiler support</a></span></dt>
<dt><span class="section"><a href="boost_typeindex/mixing_sources_with_rtti_on_and_rtti_off.html">Mixing
<dt><span class="section"><a href="boost_typeindex/mixing_sources_with_rtti_on_and_.html">Mixing
sources with RTTI on and RTTI off</a></span></dt>
</dl>
</div>
@@ -94,7 +95,7 @@
</li>
</ul></div>
<p>
Boost.TypeIndex was designed to work around all those issues.
Boost.TypeIndex library was designed to work around all those issues.
</p>
<p>
&#65279;
@@ -115,13 +116,13 @@
<th align="left">Warning</th>
</tr>
<tr><td align="left" valign="top"><p>
This library is not accepted to Boost, it is currrently waiting for review.
This library is not accepted to Boost, it is currently waiting for review.
</p></td></tr>
</table></div>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"><p><small>Last revised: October 22, 2013 at 12:36:27 GMT</small></p></td>
<td align="left"><p><small>Last revised: October 29, 2013 at 12:15:03 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>

View File

@@ -2,15 +2,17 @@ index.html
boost_typeindex/getting_started.html
boost_typeindex/examples.html
boost_typeindex_header_reference.html
boost/type_index.html
boost/template_index.html
boost/template_info.html
boost/template_id.html
boost/template_id_with_cvr.html
boost/type_index.html
boost/type_info.html
boost/type_id.html
boost/type_id_with_cvr.html
boost/type_id_rtti_on_idp5430736.html
boost/type_id_rtti_on_idp5434192.html
boost/type_id_rtti_on_idp6020784.html
boost/type_id_rtti_on_idp6024592.html
boost_typeindex/space_and_performance.html
boost_typeindex/code_bloat.html
boost_typeindex/compiler_support.html
boost_typeindex/mixing_sources_with_rtti_on_and_rtti_off.html
boost_typeindex/mixing_sources_with_rtti_on_and_.html