forked from boostorg/type_index
Docs regeneration, after fixing issues mentioned by Niall Douglas
This commit is contained in:
@@ -34,7 +34,7 @@
|
||||
</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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="idp5420400"></a><h2>Description</h2>
|
||||
<a name="idp34726784"></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 & modifiers from T. </p>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -34,8 +34,8 @@
|
||||
</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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="idp5430256"></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 & modifiers from T. If T has no const, volatile, & and && modifiers, then returns exactly the same result as in case of calling `template_id<T>()`. </p>
|
||||
<a name="idp34736640"></a><h2>Description</h2>
|
||||
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="template_index.html" title="Class template_index">template_index</a></code> instance for type T. Does not strip const, volatile and & modifiers from T. If T has no const, volatile, & and && modifiers, then returns exactly the same result as in case of calling `template_id<T>()`. </p>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@@ -35,60 +35,60 @@
|
||||
<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#idm33488-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#idm25088-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#idm7440-bb">public member functions</a></span>
|
||||
<span class="keyword">bool</span> <a class="link" href="template_index.html#idm7040-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">&</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#idm4416-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#idm3168-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#idm1952-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#idm31920-bb">public member functions</a></span>
|
||||
<span class="keyword">bool</span> <a class="link" href="template_index.html#idm31520-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">&</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#idm28896-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#idm27648-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#idm26432-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#idm32944-bb">public static functions</a></span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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#idm32544-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"><</span><span class="keyword">typename</span> T<span class="special">></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#idm29328-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#idm24544-bb">public static functions</a></span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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#idm24144-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"><</span><span class="keyword">typename</span> T<span class="special">></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#idm20928-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="idp5362096"></a><h2>Description</h2>
|
||||
<a name="idp34668480"></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="idp5362880"></a><h3>
|
||||
<a name="idp34669264"></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="idm33488-bb"></a><span class="identifier">template_index</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
|
||||
<pre class="literallayout"><a name="idm25088-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="idp5368560"></a><h3>
|
||||
<a name="idm7440-bb"></a><code class="computeroutput">template_index</code> public member functions</h3>
|
||||
<a name="idp34674944"></a><h3>
|
||||
<a name="idm31920-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="idm7040-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">&</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="idm31520-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">&</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="idm4416-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="idm28896-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="idm3168-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="idm27648-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="idm1952-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>
|
||||
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idm26432-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="idp5394288"></a><h3>
|
||||
<a name="idm32944-bb"></a><code class="computeroutput">template_index</code> public static functions</h3>
|
||||
<a name="idp34700672"></a><h3>
|
||||
<a name="idm24544-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"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <a name="idm32544-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"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <a name="idm24144-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 & modifiers from T </p>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <a name="idm29328-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 & modifiers from T </p>
|
||||
<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="template_index.html" title="Class template_index">template_index</a> <a name="idm20928-bb"></a><span class="identifier">construct_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
|
||||
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="template_index.html" title="Class template_index">template_index</a></code> instance for type T. Does not strip const, volatile and & modifiers from T </p>
|
||||
</li>
|
||||
</ol></div>
|
||||
</div>
|
||||
|
@@ -34,7 +34,7 @@
|
||||
</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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="idp5613568"></a><h2>Description</h2>
|
||||
<a name="idp34919952"></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 & modifiers from T. </p>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -7,7 +7,7 @@
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 1.0">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header <boost/type_index/type_index_impl.hpp>">
|
||||
<link rel="prev" href="type_id_with_cvr.html" title="Function template type_id_with_cvr">
|
||||
<link rel="next" href="type_id_rtti_on_idp5370032.html" title="Function template type_id_rtti_only">
|
||||
<link rel="next" href="type_id_rtti_on_idp5763792.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,10 +20,10 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5370032.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_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_idp5763792.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_idp5366896"></a><div class="titlepage"></div>
|
||||
<a name="boost.type_id_rtti_on_idp5760464"></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,8 +34,8 @@
|
||||
</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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="idp5634656"></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="idp34941040"></a><h2>Description</h2>
|
||||
<p>Function, that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">boost::type_index</a></code>. This method available only with RTTI enabled. Without RTTI support it won't compile, producing a compile-time error with message: "boost::type_id_rtti_only(T&) requires RTTI" </p>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
@@ -48,7 +48,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5370032.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_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_idp5763792.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -6,8 +6,8 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 1.0">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header <boost/type_index/type_index_impl.hpp>">
|
||||
<link rel="prev" href="type_id_rtti_on_idp5366896.html" title="Function template type_id_rtti_only">
|
||||
<link rel="next" href="../boost_typeindex/performance.html" title="Performance">
|
||||
<link rel="prev" href="type_id_rtti_on_idp5760464.html" title="Function template type_id_rtti_only">
|
||||
<link rel="next" href="../boost_typeindex/space_and_performance.html" title="Space and Performance">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@@ -20,10 +20,10 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id_rtti_on_idp5366896.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_idp5760464.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost_typeindex/space_and_performance.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.type_id_rtti_on_idp5370032"></a><div class="titlepage"></div>
|
||||
<a name="boost.type_id_rtti_on_idp5763792"></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,8 +34,8 @@
|
||||
</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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="idp5645744"></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="idp34952464"></a><h2>Description</h2>
|
||||
<p>Function, that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">boost::type_index</a></code>. This method available only with RTTI enabled. Without RTTI support it won't compile, producing a compile-time error with message: "boost::type_id_rtti_only(T*) requires RTTI" </p>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
@@ -48,7 +48,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id_rtti_on_idp5366896.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_idp5760464.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost_typeindex/space_and_performance.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -7,7 +7,7 @@
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 1.0">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp" title="Header <boost/type_index/type_index_impl.hpp>">
|
||||
<link rel="prev" href="type_id.html" title="Function template type_id">
|
||||
<link rel="next" href="type_id_rtti_on_idp5366896.html" title="Function template type_id_rtti_only">
|
||||
<link rel="next" href="type_id_rtti_on_idp5760464.html" title="Function template type_id_rtti_only">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5366896.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_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_idp5760464.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.type_id_with_cvr"></a><div class="titlepage"></div>
|
||||
@@ -34,8 +34,8 @@
|
||||
</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="identifier">type_id_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp5623408"></a><h2>Description</h2>
|
||||
<p>Function for constructing <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">type_index</a></code> instance for type T. Does not strips const, volatile, & and && modifiers from T. If T has no const, volatile, & and && modifiers, then returns exactly the same result as in case of calling `type_id<T>()`. </p>
|
||||
<a name="idp34929792"></a><h2>Description</h2>
|
||||
<p>Function for constructing <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">type_index</a></code> instance for type T. Does not strip const, volatile, & and && modifiers from T. If T has no const, volatile, & and && modifiers, then returns exactly the same result as in case of calling `type_id<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_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_idp5366896.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_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_idp5760464.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -38,69 +38,69 @@
|
||||
<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#idp5346032-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#idp5346416-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">&</span><span class="special">)</span><span class="special">;</span>
|
||||
<a class="link" href="type_index.html#idp5739600-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#idp5739984-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">&</span><span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="type_index.html#idp5340032-bb">public member functions</a></span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idp5340400-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">&</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#idp5342672-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#idp5343792-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#idp5344912-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#idp5733712-bb">public member functions</a></span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idp5733968-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">&</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#idp5736240-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#idp5737360-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#idp5738480-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#idp5348288-bb">public static functions</a></span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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#idp5348656-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"><</span><span class="keyword">typename</span> T<span class="special">></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#idp5351536-bb"><span class="identifier">construct_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a class="link" href="type_index.html#idp5354640-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="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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#idp5358144-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#idp5741856-bb">public static functions</a></span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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#idp5742224-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"><</span><span class="keyword">typename</span> T<span class="special">></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#idp5745104-bb"><span class="identifier">construct_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a class="link" href="type_index.html#idp5748208-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="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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#idp5751712-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="idp5530816"></a><h2>Description</h2>
|
||||
<a name="idp34837200"></a><h2>Description</h2>
|
||||
<div class="refsect2">
|
||||
<a name="idp5531200"></a><h3>
|
||||
<a name="idp34837584"></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="idp5346032-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="idp5739600-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="idp5346416-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">&</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="idp5739984-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">&</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="idp5543232"></a><h3>
|
||||
<a name="idp5340032-bb"></a><code class="computeroutput">type_index</code> public member functions</h3>
|
||||
<a name="idp34849616"></a><h3>
|
||||
<a name="idp5733712-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="idp5340400-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">&</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="idp5733968-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">&</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="idp5342672-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="idp5736240-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="idp5343792-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="idp5737360-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="idp5344912-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="idp5738480-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="idp5568832"></a><h3>
|
||||
<a name="idp5348288-bb"></a><code class="computeroutput">type_index</code> public static functions</h3>
|
||||
<a name="idp34875216"></a><h3>
|
||||
<a name="idp5741856-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"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a name="idp5348656-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"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a name="idp5742224-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 & modifiers from T. </p>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a name="idp5351536-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="type_index.html" title="Class type_index">type_index</a></code> instance for type T. Does not strips const, volatile, & and && modifiers from T. If T has no const, volatile, & and && modifiers, then returns exactly the same result as in case of calling `construct<T>()`. </p>
|
||||
<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a name="idp5745104-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="type_index.html" title="Class type_index">type_index</a></code> instance for type T. Does not strip const, volatile, & and && modifiers from T. If T has no const, volatile, & and && modifiers, then returns exactly the same result as in case of calling `construct<T>()`. </p>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a name="idp5354640-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"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a name="idp5748208-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>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a name="idp5358144-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"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <a name="idp5751712-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>
|
||||
|
66
boost_typeindex/code_bloat.html
Normal file
66
boost_typeindex/code_bloat.html
Normal file
@@ -0,0 +1,66 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Code bloat</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 1.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 1.0">
|
||||
<link rel="prev" href="space_and_performance.html" title="Space and Performance">
|
||||
<link rel="next" href="compiler_support.html" title="Compiler support">
|
||||
</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="space_and_performance.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">
|
||||
<a name="boost_typeindex.code_bloat"></a><a class="link" href="code_bloat.html" title="Code bloat">Code bloat</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
Without RTTI TypeIndex library will switch from using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code>
|
||||
class to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_index</span></code>. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_index</span></code>
|
||||
uses the <code class="computeroutput"><span class="identifier">BOOST_CURRENT_FUNCTION</span></code>
|
||||
for each type that is passed to <code class="computeroutput"><span class="identifier">type_id</span><span class="special">()</span></code> and <code class="computeroutput"><span class="identifier">type_id_with_cvr</span><span class="special">()</span></code> functions.
|
||||
</p>
|
||||
<p>
|
||||
This leads to big strings in binary file:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">ctti</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">n</span><span class="special">()</span> <span class="special">[</span><span class="identifier">with</span> <span class="identifier">T</span> <span class="special">=</span> <span class="keyword">int</span><span class="special">]</span>
|
||||
<span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">ctti</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">n</span><span class="special">()</span> <span class="special">[</span><span class="identifier">with</span> <span class="identifier">T</span> <span class="special">=</span> <span class="identifier">user_defined_type</span><span class="special">]</span>
|
||||
</pre>
|
||||
<p>
|
||||
While using RTTI, you'll get the following (more compact) string in binary
|
||||
file:
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">i</span>
|
||||
<span class="number">17u</span><span class="identifier">ser_defined_type</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 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="space_and_performance.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>
|
@@ -6,7 +6,7 @@
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 1.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 1.0">
|
||||
<link rel="prev" href="performance.html" title="Performance">
|
||||
<link rel="prev" href="code_bloat.html" title="Code bloat">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@@ -19,15 +19,18 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="performance.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="p" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typeindex.compiler_support"></a><a class="link" href="compiler_support.html" title="Compiler support">Compiler support</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
TypeIndex has been tested on MSVC2010, GCC-4.5, Clang-2.9. If your compiler
|
||||
is not in a list of tested compilers, you shall correctly define <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code> and <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_END_SKIP</span></code> macroses:
|
||||
TypeIndex has been tested and sucessfully work on MSVC2010, GCC-4.5, Clang-2.9.
|
||||
If your compiler is not in a list of tested compilers, you shall correctly
|
||||
define <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_END_SKIP</span></code>
|
||||
macroses:
|
||||
</p>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
@@ -81,7 +84,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="performance.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="p" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@@ -43,13 +43,11 @@
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
The following example shows how short (mangled) and human readable type names
|
||||
could be obtained from a type.
|
||||
could be obtained from a type. Works with and without RTTI.
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
<pre class="programlisting"><span class="comment">// Works with and without RTTI.</span>
|
||||
|
||||
<span class="preprocessor">#include</span> <span class="special"><</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">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
@@ -65,21 +63,29 @@
|
||||
<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="comment">// (RTTI on) (RTTI off)</span>
|
||||
<span class="comment">// Short name: i Short name: int]</span>
|
||||
<span class="comment">// Readable name: int Readable name: int</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="comment">// (RTTI on) (RTTI off)</span>
|
||||
<span class="comment">// Short name: 17user_defined_type user_defined_type]</span>
|
||||
<span class="comment">// Readable name: user_defined_type user_defined_type</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="comment">// The example </span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
Short names are very compiler dependant: some compiler will output <code class="computeroutput"><span class="special">.</span><span class="identifier">H</span></code>, others
|
||||
<code class="computeroutput"><span class="identifier">i</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
Readable names may also differ between compilers: <code class="computeroutput"><span class="keyword">struct</span>
|
||||
<span class="identifier">user_defined_type</span></code>, <code class="computeroutput"><span class="identifier">user_defined_type</span></code>.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@@ -126,7 +132,9 @@
|
||||
<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.
|
||||
Example works with RTTI only. Without RTTI support it won't compile, producing
|
||||
a compile-time error with message: "boost::type_id_rtti_only(T&)
|
||||
requires RTTI"
|
||||
</p>
|
||||
<p>
|
||||
</p>
|
||||
@@ -172,6 +180,7 @@
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</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">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">stdexcept</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">cassert</span><span class="special">></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>
|
||||
|
@@ -1,63 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Performance</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 1.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 1.0">
|
||||
<link rel="prev" href="../boost/type_id_rtti_on_idp5370032.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">
|
||||
<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="../boost/type_id_rtti_on_idp5370032.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">
|
||||
<a name="boost_typeindex.performance"></a><a class="link" href="performance.html" title="Performance">Performance</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">type_index</span></code> and <code class="computeroutput"><span class="identifier">template_index</span></code> classes hold a single pointer,
|
||||
so they are easy and fast to copy. Calls to <code class="computeroutput"><span class="keyword">const</span>
|
||||
<span class="keyword">char</span><span class="special">*</span> <span class="identifier">name</span><span class="special">()</span></code> do
|
||||
not require dynamic memory allocation and usually just return a pointer to
|
||||
an array of chars in a read-only section of the binary image. Comparison operators
|
||||
are optimized as much as possible, and will at worst execute a single <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">strcmp</span></code>.
|
||||
Calls to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name_demangled</span><span class="special">()</span></code> for <code class="computeroutput"><span class="identifier">type_index</span></code>
|
||||
do usually require dynamic memory allocation and some computations, so they
|
||||
are not recomended for usage in performance critical sections. Calls to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span>
|
||||
<span class="identifier">name_demangled</span><span class="special">()</span></code>
|
||||
for <code class="computeroutput"><span class="identifier">template_index</span></code> only require
|
||||
a single <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">strlen</span></code> call and are considerably faster than
|
||||
<code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name_demangled</span><span class="special">()</span></code> for <code class="computeroutput"><span class="identifier">type_index</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">template_index</span></code> uses the <code class="computeroutput"><span class="identifier">BOOST_CURRENT_FUNCTION</span></code> macro which could
|
||||
lead to code bloat, so prefer using <code class="computeroutput"><span class="identifier">type_index</span></code>
|
||||
type.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 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="../boost/type_id_rtti_on_idp5370032.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>
|
75
boost_typeindex/space_and_performance.html
Normal file
75
boost_typeindex/space_and_performance.html
Normal file
@@ -0,0 +1,75 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Space and Performance</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 1.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 1.0">
|
||||
<link rel="prev" href="../boost/type_id_rtti_on_idp5763792.html" title="Function template type_id_rtti_only">
|
||||
<link rel="next" href="code_bloat.html" title="Code bloat">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<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="../boost/type_id_rtti_on_idp5763792.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typeindex.space_and_performance"></a><a class="link" href="space_and_performance.html" title="Space and Performance">Space and Performance</a>
|
||||
</h2></div></div></div>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">template_index</span></code> uses the
|
||||
<code class="computeroutput"><span class="identifier">BOOST_CURRENT_FUNCTION</span></code>
|
||||
macro which could lead to code bloat, so prefer using <code class="computeroutput"><span class="identifier">type_index</span></code>
|
||||
type.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">type_index</span></code> and <code class="computeroutput"><span class="identifier">template_index</span></code> classes hold a single
|
||||
pointer, so they are easy and fast to copy.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Calls to <code class="computeroutput"><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">name</span><span class="special">()</span></code> do not require dynamic memory allocation
|
||||
and usually just return a pointer to an array of chars in a read-only section
|
||||
of the binary image.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Comparison operators are optimized as much as possible, and will at worst
|
||||
execute a single <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">strcmp</span></code>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Calls to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name_demangled</span><span class="special">()</span></code> for <code class="computeroutput"><span class="identifier">type_index</span></code>
|
||||
do usually require dynamic memory allocation and some computations, so
|
||||
they are not recomended for usage in performance critical sections.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Calls to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name_demangled</span><span class="special">()</span></code> for <code class="computeroutput"><span class="identifier">template_index</span></code>
|
||||
only require a single <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">strlen</span></code>
|
||||
call and are considerably faster than <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name_demangled</span><span class="special">()</span></code>
|
||||
for <code class="computeroutput"><span class="identifier">type_index</span></code>.
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 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="../boost/type_id_rtti_on_idp5763792.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -35,7 +35,7 @@
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="header.boost.type_index_hpp"></a>Header <<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index.hpp" target="_top">boost/type_index.hpp</a>></h3></div></div></div>
|
||||
<p>Includes all the headers of the Boost.TypeIndex library. </p>
|
||||
<p>By inclusion of this file classes `type_index` (if RTTI is on) and `template_index` will be available. Consider including `<boost/type_index/type_index_minimal.hpp>` if you need only a type_index type with and without RTTI. </p>
|
||||
<p>By inclusion of this file both classes (`type_index` (if RTTI is on) and `template_index`) will be available. Consider including `<boost/type_index/type_index_minimal.hpp>` if you do not whant to include `template_index` class while RTTI is available (this is recommended). </p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
@@ -51,7 +51,7 @@
|
||||
<span class="comment">// Ostream operator that will output demangled name. </span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> TriatT<span class="special">></span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">></span> <span class="special">&</span>
|
||||
<a name="boost.operator_idm20320"></a><span class="keyword">operator</span><span class="special"><<</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">></span> <span class="special">&</span> ostr<span class="special">,</span>
|
||||
<a name="boost.operator_idm11920"></a><span class="keyword">operator</span><span class="special"><<</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">></span> <span class="special">&</span> ostr<span class="special">,</span>
|
||||
<a class="link" href="boost/template_index.html" title="Class template_index">template_index</a> <span class="keyword">const</span> <span class="special">&</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>
|
||||
@@ -67,8 +67,8 @@
|
||||
<span class="keyword">class</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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"><</span><span class="keyword">typename</span> T<span class="special">></span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <a class="link" href="boost/type_id_with_cvr.html" title="Function template type_id_with_cvr"><span class="identifier">type_id_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></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_idp5366896.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"><</span><span class="keyword">typename</span> T<span class="special">></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_idp5370032.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"><</span><span class="keyword">typename</span> T<span class="special">></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_idp5760464.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"><</span><span class="keyword">typename</span> T<span class="special">></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_idp5763792.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">
|
||||
|
@@ -53,7 +53,8 @@
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_impl_hpp">Header <boost/type_index/type_index_impl.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_minimal_hpp">Header <boost/type_index/type_index_minimal.hpp></a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="boost_typeindex/performance.html">Performance</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex/space_and_performance.html">Space and Performance</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex/code_bloat.html">Code bloat</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex/compiler_support.html">Compiler support</a></span></dt>
|
||||
</dl>
|
||||
</div>
|
||||
@@ -81,7 +82,7 @@
|
||||
objects across shared libraries
|
||||
</li>
|
||||
<li class="listitem">
|
||||
only a few implementations of Standart Library currently provide <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code>
|
||||
only a few implementations of Standard Library currently provide <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
no easy way to store type info without stripping const, volatile and references
|
||||
@@ -118,7 +119,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 16, 2013 at 13:25:34 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: October 17, 2013 at 07:39:53 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
@@ -8,7 +8,8 @@ boost/template_id_with_cvr.html
|
||||
boost/type_index.html
|
||||
boost/type_id.html
|
||||
boost/type_id_with_cvr.html
|
||||
boost/type_id_rtti_on_idp5366896.html
|
||||
boost/type_id_rtti_on_idp5370032.html
|
||||
boost_typeindex/performance.html
|
||||
boost/type_id_rtti_on_idp5760464.html
|
||||
boost/type_id_rtti_on_idp5763792.html
|
||||
boost_typeindex/space_and_performance.html
|
||||
boost_typeindex/code_bloat.html
|
||||
boost_typeindex/compiler_support.html
|
||||
|
Reference in New Issue
Block a user