Documentation regenerated

This commit is contained in:
Antony Polukhin
2013-10-15 15:05:49 +04:00
parent b9f3db90fc
commit 986ffb2c7a
12 changed files with 314 additions and 136 deletions

View File

@@ -34,7 +34,7 @@
</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>
<div class="refsect1">
<a name="idp34601520"></a><h2>Description</h2>
<a name="idp34421008"></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>
</div>
</div>

View File

@@ -34,7 +34,7 @@
</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>
<div class="refsect1">
<a name="idp34611376"></a><h2>Description</h2>
<a name="idp34430864"></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 strips const, volatile and &amp; modifiers from T. </p>
</div>
</div>

View File

@@ -35,55 +35,59 @@
<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#idm30304-bb"><span class="identifier">template_index</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<a class="link" href="template_index.html#idm33760-bb"><span class="identifier">template_index</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="template_index.html#idm38240-bb">public member functions</a></span>
<span class="keyword">bool</span> <a class="link" href="template_index.html#idm37840-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="special">;</span>
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="template_index.html#idm35216-bb"><span class="identifier">name</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">string</span> <a class="link" href="template_index.html#idm32832-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#idm31568-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="template_index.html#idm7728-bb">public member functions</a></span>
<span class="keyword">bool</span> <a class="link" href="template_index.html#idm7328-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="special">;</span>
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="template_index.html#idm4704-bb"><span class="identifier">name</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">string</span> <a class="link" href="template_index.html#idm3456-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#idm2240-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="template_index.html#idm29888-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#idm29488-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#idm26272-bb"><span class="identifier">construct_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="comment">// <a class="link" href="template_index.html#idm33216-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#idm32816-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#idm29600-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="idp34543472"></a><h2>Description</h2>
<a name="idp34362816"></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="idp34544256"></a><h3>
<a name="idp34363600"></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="idm30304-bb"></a><span class="identifier">template_index</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>Default constructor. </li></ol></div>
<pre class="literallayout"><a name="idm33760-bb"></a><span class="identifier">template_index</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<p>Default constructor. </p>
</li></ol></div>
</div>
<div class="refsect2">
<a name="idp34549808"></a><h3>
<a name="idm38240-bb"></a><code class="computeroutput">template_index</code> public member functions</h3>
<a name="idp34369168"></a><h3>
<a name="idm7728-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="idm37840-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="special">;</span></pre>
<pre class="literallayout"><span class="keyword">bool</span> <a name="idm7328-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="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="idm35216-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</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="idm4704-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</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="idm32832-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="idm3456-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="idm31568-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Function for getting hash value. </li>
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idm2240-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
<p>Function for getting hash value </p>
</li>
</ol></div>
</div>
<div class="refsect2">
<a name="idp34575408"></a><h3>
<a name="idm29888-bb"></a><code class="computeroutput">template_index</code> public static functions</h3>
<a name="idp34394896"></a><h3>
<a name="idm33216-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="idm29488-bb"></a><span class="identifier">construct</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<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="idm32816-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="idm26272-bb"></a><span class="identifier">construct_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<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="idm29600-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 strips const, volatile and &amp; modifiers from T </p>
</li>
</ol></div>

View File

@@ -1,13 +1,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Function template type_id_rtti_only</title>
<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="next" href="type_id_rtti_on_idp5201056.html" title="Function template type_id_rtti_only">
<link rel="next" href="type_id_rtti_on_idp5353952.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_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_rtti_on_idp5201056.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.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_idp5353952.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_idp5197920"></a><div class="titlepage"></div>
<a name="boost.type_id"></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>
<h2><span class="refentrytitle">Function template type_id</span></h2>
<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;
</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> <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>
<div class="refsect1">
<a name="idp34778800"></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. </p>
<a name="idp34594560"></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>
</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_rtti_on_idp5201056.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.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_idp5353952.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

@@ -0,0 +1,54 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<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.html" title="Function template type_id">
<link rel="next" href="type_id_rtti_on_idp5357088.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>
<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="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_idp5357088.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_idp5353952"></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;
</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>
<div class="refsect1">
<a name="idp34605648"></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. </p>
</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="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_idp5357088.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

@@ -6,7 +6,7 @@
<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_idp5197920.html" title="Function template type_id_rtti_only">
<link rel="prev" href="type_id_rtti_on_idp5353952.html" title="Function template type_id_rtti_only">
<link rel="next" href="../boost_typeindex/performance.html" title="Performance">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,10 +20,10 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="type_id_rtti_on_idp5197920.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/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_idp5353952.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/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_idp5201056"></a><div class="titlepage"></div>
<a name="boost.type_id_rtti_on_idp5357088"></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>
@@ -34,7 +34,7 @@
</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>
<div class="refsect1">
<a name="idp34789888"></a><h2>Description</h2>
<a name="idp34616736"></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. </p>
</div>
</div>
@@ -48,7 +48,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="type_id_rtti_on_idp5197920.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/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_idp5353952.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/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

@@ -7,7 +7,7 @@
<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_rtti_on_idp5197920.html" title="Function template type_id_rtti_only">
<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>
@@ -20,7 +20,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_rtti_on_idp5197920.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_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>
</div>
<div class="refentry">
<a name="boost.type_index"></a><div class="titlepage"></div>
@@ -38,64 +38,64 @@
<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#idp5183024-bb"><span class="identifier">type_index</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">explicit</span> <a class="link" href="type_index.html#idp5183408-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="special">;</span>
<a class="link" href="type_index.html#idp5338928-bb"><span class="identifier">type_index</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">explicit</span> <a class="link" href="type_index.html#idp5339312-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="special">;</span>
<span class="comment">// <a class="link" href="type_index.html#idm7088-bb">public member functions</a></span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm6688-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="special">;</span>
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="type_index.html#idm4224-bb"><span class="identifier">name</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">string</span> <a class="link" href="type_index.html#idm2976-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#idm1712-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="type_index.html#idm11184-bb">public member functions</a></span>
<span class="keyword">bool</span> <a class="link" href="type_index.html#idp5333296-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="special">;</span>
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="type_index.html#idp5335568-bb"><span class="identifier">name</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">string</span> <a class="link" href="type_index.html#idp5336688-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#idp5337808-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
<span class="comment">// <a class="link" href="type_index.html#idp5185280-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#idp5185648-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="type_index.html" title="Class type_index">type_index</a> <a class="link" href="type_index.html#idp5188528-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#idp5192032-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#idp5341184-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#idp5341552-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="type_index.html" title="Class type_index">type_index</a> <a class="link" href="type_index.html#idp5344432-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#idp5347936-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="special">}</span><span class="special">;</span></pre></div>
<div class="refsect1">
<a name="idp34702912"></a><h2>Description</h2>
<a name="idp34519920"></a><h2>Description</h2>
<div class="refsect2">
<a name="idp34703296"></a><h3>
<a name="idp34520304"></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="idp5183024-bb"></a><span class="identifier">type_index</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>Default constructor. </li>
<pre class="literallayout"><a name="idp5338928-bb"></a><span class="identifier">type_index</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>Default constructor. </li>
<li class="listitem">
<pre class="literallayout"><span class="keyword">explicit</span> <a name="idp5183408-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="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"><span class="keyword">explicit</span> <a name="idp5339312-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="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="idp34715328"></a><h3>
<a name="idm7088-bb"></a><code class="computeroutput">type_index</code> public member functions</h3>
<a name="idp34532336"></a><h3>
<a name="idm11184-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="idm6688-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="special">;</span></pre>
<pre class="literallayout"><span class="keyword">bool</span> <a name="idp5333296-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="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="idm4224-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</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="idp5335568-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</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="idm2976-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="idp5336688-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="idm1712-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Function for getting hash value. </li>
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp5337808-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Function for getting hash value. </li>
</ol></div>
</div>
<div class="refsect2">
<a name="idp34740928"></a><h3>
<a name="idp5185280-bb"></a><code class="computeroutput">type_index</code> public static functions</h3>
<a name="idp34557936"></a><h3>
<a name="idp5341184-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="idp5185648-bb"></a><span class="identifier">construct</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
<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="idp5341552-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="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="idp5188528-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>
<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="idp5344432-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="idp5192032-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>
<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="idp5347936-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>
</ol></div>
@@ -112,7 +112,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_rtti_on_idp5197920.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_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>
</div>
</body>
</html>

View File

@@ -26,82 +26,193 @@
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<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
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
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
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
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
human readable and mangled type names</a>
</h3></div></div></div>
<p>
All code in the examples will work with and without RTTI support.
</p>
The following example shows how short (mangled) and human readable type names
could be obtained from a type.
</p>
<p>
Class that allows to register a given type only once.
</p>
<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">types_registry</span> <span class="special">{</span>
<span class="identifier">unordered_set</span><span class="special">&lt;</span><span class="identifier">type_index</span><span class="special">&gt;</span> <span class="identifier">types_</span><span class="special">;</span>
<pre class="programlisting"><span class="comment">// Works with and without RTTI.</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">T</span><span class="special">&gt;</span>
<span class="keyword">void</span> <span class="identifier">add_type</span><span class="special">()</span> <span class="special">{</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">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Adding type "</span> <span class="special">&lt;&lt;</span> <span class="identifier">ti</span> <span class="special">&lt;&lt;</span> <span class="string">" to registry \n"</span><span class="special">;</span>
<span class="keyword">if</span> <span class="special">(!</span><span class="identifier">types_</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">ti</span><span class="special">).</span><span class="identifier">second</span><span class="special">)</span>
<span class="keyword">throw</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">logic_error</span><span class="special">(</span><span class="string">"Type "</span> <span class="special">+</span> <span class="identifier">ti</span><span class="special">.</span><span class="identifier">name_demangled</span><span class="special">()</span> <span class="special">+</span> <span class="string">" already registered"</span><span class="special">);</span>
<span class="special">}</span>
<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>
<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>
<span class="keyword">bool</span> <span class="identifier">has_type</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span>
<span class="keyword">return</span> <span class="identifier">types_</span><span class="special">.</span><span class="identifier">cend</span><span class="special">()</span> <span class="special">!=</span> <span class="identifier">types_</span><span class="special">.</span><span class="identifier">find</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="special">}</span>
<span class="special">};</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>
<span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span> <span class="special">{</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n Short name: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</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">name</span><span class="special">();</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"\n Readable name: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</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">name_demangled</span><span class="special">();</span>
<span class="special">}</span>
<span class="keyword">int</span> <span class="identifier">main</span> <span class="special">()</span> <span class="special">{</span>
<span class="identifier">types_registry</span> <span class="identifier">tr</span><span class="special">;</span>
<span class="identifier">tr</span><span class="special">.</span><span class="identifier">add_type</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;();</span>
<span class="identifier">tr</span><span class="special">.</span><span class="identifier">add_type</span><span class="special">&lt;</span><span class="keyword">float</span><span class="special">&gt;();</span>
<span class="keyword">struct</span> <span class="identifier">user_defined_type</span><span class="special">{};</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Has type int: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">tr</span><span class="special">.</span><span class="identifier">has_type</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;()</span>
<span class="special">&lt;&lt;</span> <span class="string">"\nHas type std::string: "</span> <span class="special">&lt;&lt;</span> <span class="identifier">tr</span><span class="special">.</span><span class="identifier">has_type</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;()</span>
<span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
<span class="comment">// Call to</span>
<span class="identifier">foo</span><span class="special">(</span><span class="number">1</span><span class="special">);</span>
<span class="comment">// will output something like this:</span>
<span class="comment">//</span>
<span class="comment">// Short name: .H</span>
<span class="comment">// Readable name: int</span>
<span class="keyword">try</span> <span class="special">{</span>
<span class="identifier">tr</span><span class="special">.</span><span class="identifier">add_type</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">&gt;();</span> <span class="comment">// Will throw</span>
<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">logic_error</span><span class="special">&amp;</span> <span class="identifier">e</span><span class="special">)</span> <span class="special">{</span>
<span class="comment">// Will print "Type int already registered"</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
<span class="special">}</span>
<span class="identifier">user_defined_type</span> <span class="identifier">t</span><span class="special">;</span>
<span class="identifier">foo</span><span class="special">(</span><span class="identifier">t</span><span class="special">);</span>
<span class="comment">// Will output:</span>
<span class="comment">//</span>
<span class="comment">// Short name: .?AUuser_defined_type@@</span>
<span class="comment">// Readable name: struct user_defined_type</span>
<span class="special">}</span>
<span class="comment">// The example </span>
</pre>
<p>
</p>
</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
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>
<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>
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_set</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span><span class="special">&gt;</span> <span class="identifier">types</span><span class="special">;</span>
<span class="comment">// Storing some `boost::type_info`s</span>
<span class="identifier">types</span><span class="special">.</span><span class="identifier">insert</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="identifier">types</span><span class="special">.</span><span class="identifier">insert</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">float</span><span class="special">&gt;());</span>
<span class="comment">// `types` variable contains two `boost::type_index`es:</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">types</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
<span class="comment">// Const, volatile and reference will be striped from the type:</span>
<span class="keyword">bool</span> <span class="identifier">is_inserted</span> <span class="special">=</span> <span class="identifier">types</span><span class="special">.</span><span class="identifier">insert</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">const</span> <span class="keyword">int</span><span class="special">&gt;()).</span><span class="identifier">second</span><span class="special">;</span>
<span class="identifier">assert</span><span class="special">(!</span><span class="identifier">is_inserted</span><span class="special">);</span>
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">types</span><span class="special">.</span><span class="identifier">erase</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">float</span><span class="special">&amp;&gt;())</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span>
<span class="comment">// We have erased the `float` type, only `int` remains</span>
<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>
</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
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>
is able to store the real type, successfully getting through all the inheritances.
Example works with RTTI only.
</p>
<p>
This will output:
</p>
<pre class="programlisting"><span class="identifier">Adding</span> <span class="identifier">type</span> <span class="keyword">int</span> <span class="identifier">to</span> <span class="identifier">registry</span>
<span class="identifier">Adding</span> <span class="identifier">type</span> <span class="keyword">float</span> <span class="identifier">to</span> <span class="identifier">registry</span>
<span class="identifier">Has</span> <span class="identifier">type</span> <span class="keyword">int</span><span class="special">:</span> <span class="number">1</span>
<span class="identifier">Has</span> <span class="identifier">type</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">:</span> <span class="number">0</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_minimal</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>
<span class="keyword">struct</span> <span class="identifier">B</span><span class="special">:</span> <span class="keyword">public</span> <span class="identifier">A</span> <span class="special">{};</span>
<span class="keyword">struct</span> <span class="identifier">C</span><span class="special">:</span> <span class="keyword">public</span> <span class="identifier">B</span> <span class="special">{};</span>
<span class="keyword">void</span> <span class="identifier">print_real_type</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&amp;</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">{</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id_rtti_only</span><span class="special">(</span><span class="identifier">a</span><span class="special">).</span><span class="identifier">name_demangled</span><span class="special">()</span> <span class="special">&lt;&lt;</span> <span class="char">'\n'</span><span class="special">;</span>
<span class="special">}</span>
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
<span class="identifier">C</span> <span class="identifier">c</span><span class="special">;</span>
<span class="keyword">const</span> <span class="identifier">A</span><span class="special">&amp;</span> <span class="identifier">c_as_a</span> <span class="special">=</span> <span class="identifier">c</span><span class="special">;</span>
<span class="identifier">print_real_type</span><span class="special">(</span><span class="identifier">c_as_a</span><span class="special">);</span> <span class="comment">// Outputs `struct C`</span>
<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>
</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
type match: storing type with const, volatile and reference </a>
</h3></div></div></div>
<p>
Another example, this time checking for exact parameter match. <code class="computeroutput"><span class="identifier">my_unary_function</span></code> is a class, that stores
a function with result type <code class="computeroutput"><span class="identifier">ResultT</span></code>
and any input parameter type. In <code class="computeroutput"><span class="keyword">operator</span><span class="special">()</span></code>, it checks for input parameter match and
then executes the stored function:
</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.
</p>
<p>
In this example we'll create a class, that stores pointer to function and
remembers the exact type of a parameter that function accepts. When an attempt
to call the stored function will be made, type of input parameter will be
checked for exact match with initail/erased type of function.
</p>
<p>
</p>
<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ResultT</span><span class="special">&gt;</span>
<span class="keyword">class</span> <span class="identifier">my_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">template_index</span> <span class="identifier">exact_param_t_</span><span class="special">;</span>
<span class="special">...</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">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="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="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="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">ResultT</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">ParamT</span><span class="special">&amp;</span> <span class="identifier">v</span><span class="special">)</span> <span class="special">{</span>
<span class="identifier">BOOST_ASSERT</span><span class="special">(</span><span class="identifier">exact_param_t_</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">&amp;&gt;());</span>
<span class="keyword">return</span> <span class="special">(</span><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="identifier">ResultT</span><span class="special">(</span><span class="identifier">ParamT</span><span class="special">&amp;)&gt;(</span><span class="identifier">function_ptr_</span><span class="special">))(</span><span class="identifier">v</span><span class="special">);</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">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>
<span class="keyword">return</span> <span class="special">(</span><span class="keyword">reinterpret_cast</span><span class="special">&lt;</span><span class="keyword">void</span><span class="special">(*)(</span><span class="identifier">ParamT</span><span class="special">)&gt;(</span><span class="identifier">function_ptr_</span><span class="special">))(</span><span class="identifier">v</span><span class="special">);</span>
<span class="special">}</span>
<span class="special">};</span>
<span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="keyword">int</span><span class="special">){}</span>
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
<span class="identifier">type_erased_unary_function</span> <span class="identifier">func</span><span class="special">(&amp;</span><span class="identifier">foo</span><span class="special">);</span>
<span class="identifier">func</span><span class="special">.</span><span class="identifier">call</span><span class="special">(</span><span class="number">100</span><span class="special">);</span> <span class="comment">// OK, `100` has type `int`</span>
<span class="keyword">try</span> <span class="special">{</span>
<span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">100</span><span class="special">;</span>
<span class="comment">// An attempt to convert stored function to a function accepting reference</span>
<span class="identifier">func</span><span class="special">.</span><span class="identifier">call</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&amp;&gt;(</span><span class="identifier">i</span><span class="special">);</span> <span class="comment">// Will throw, because types `int&amp;` and `int` missmatch</span>
<span class="identifier">assert</span><span class="special">(</span><span class="keyword">false</span><span class="special">);</span>
<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>
</p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>

View File

@@ -6,7 +6,7 @@
<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_idp5201056.html" title="Function template type_id_rtti_only">
<link rel="prev" href="../boost/type_id_rtti_on_idp5357088.html" title="Function template type_id_rtti_only">
<link rel="next" href="compiler_support.html" title="Compiler support">
</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_idp5201056.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="compiler_support.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_idp5357088.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="compiler_support.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">
@@ -58,7 +58,7 @@
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../boost/type_id_rtti_on_idp5201056.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="compiler_support.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_idp5357088.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="compiler_support.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

@@ -35,13 +35,13 @@
<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 classes <code class="computeroutput">type_index</code> (if RTTI is on) and <code class="computeroutput">template_index</code> will be available. Consider including <code class="computeroutput">&lt;boost/type_index/type_index_minimal.hpp&gt;</code> if you need only a type_index type with and without RTTI. </p>
<p>By inclusion of this file 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 need only a type_index type with and without RTTI. </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 template_index class, that is used instead of type_index class in situations when RTTI is disabled. Consider including <code class="computeroutput">&lt;boost/type_index/type_index_minimal.hpp&gt;</code> or <code class="computeroutput">&lt;boost/type_index.hpp&gt;</code> instead of this file. </p>
<p>Here is defined the template_index class, that is used instead of type_index class in situations when RTTI is disabled. Consider including `&lt;boost/type_index/type_index_minimal.hpp&gt;` or `&lt;boost/type_index.hpp&gt;` instead of this file. </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>
@@ -50,7 +50,7 @@
<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_idm17488"></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 name="boost.operator_idm20816"></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>
<span class="comment">// hash_value function overload for <a class="link" href="boost/template_index.html" title="Class template_index">template_index</a></span>
@@ -61,21 +61,19 @@
<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 <code class="computeroutput">&lt;boost/type_index/type_index_minimal.hpp&gt;</code> or <code class="computeroutput">&lt;boost/type_index.hpp&gt;</code> instead of this file. </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>
<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="comment">// Function, to get <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> for a type T. Strips const, volatile and &amp; modifiers from T. </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 name="boost.type_id"></a><span class="identifier">type_id</span><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_idp5197920.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_idp5201056.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">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_rtti_on_idp5353952.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_idp5357088.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="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 <code class="computeroutput">typedef template_index type_index;</code> when RTTI is disabled. </p>
<p>It includes only the minamally required headers and does the `typedef template_index type_index;` when RTTI is disabled. </p>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

View File

@@ -36,6 +36,16 @@
<dt><span class="section"><a href="index.html#boost_typeindex.motivation">Motivation</a></span></dt>
<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
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
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
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
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>
@@ -108,7 +118,7 @@
</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 12, 2013 at 15:58:32 GMT</small></p></td>
<td align="left"><p><small>Last revised: October 15, 2013 at 11:01:14 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>

View File

@@ -6,7 +6,8 @@ boost/template_index.html
boost/template_id.html
boost/template_id_with_cvr.html
boost/type_index.html
boost/type_id_rtti_on_idp5197920.html
boost/type_id_rtti_on_idp5201056.html
boost/type_id.html
boost/type_id_rtti_on_idp5353952.html
boost/type_id_rtti_on_idp5357088.html
boost_typeindex/performance.html
boost_typeindex/compiler_support.html