mirror of
https://github.com/boostorg/type_index.git
synced 2025-07-31 12:57:17 +02:00
Documentation update
This commit is contained in:
55
boost/operator_idp5204304.html
Normal file
55
boost/operator_idp5204304.html
Normal file
@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Function operator<<</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_49_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="../boost_typeindex_header_reference.html#header.boost.type_index_hpp" title="Header <boost/type_index.hpp>">
|
||||
<link rel="prev" href="type_id_rtti_on_idp5201168.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">
|
||||
<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_49_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_49_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_49_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_49_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id_rtti_on_idp5201168.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_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_49_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.operator_idp5204304"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Function operator<<</span></h2>
|
||||
<p>boost::operator<<</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: <<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp" title="Header <boost/type_index.hpp>">boost/type_index.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span> <span class="special">&</span>
|
||||
<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> <a class="link" href="template_index.html" title="Class template_index">template_index</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> rhs<span class="special">)</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp34789568"></a><h2>Description</h2>
|
||||
<p>Output operators for <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">type_index</a></code> and <code class="computeroutput"><a class="link" href="template_index.html" title="Class template_index">template_index</a></code> </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 © 2012 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_rtti_on_idp5201168.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_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_49_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -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="idp5151792"></a><h2>Description</h2>
|
||||
<a name="idp34732976"></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,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_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp5161648"></a><h2>Description</h2>
|
||||
<a name="idp34742832"></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. </p>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -35,59 +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#idm2736-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#idm27504-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#idm9616-bb">public member functions</a></span>
|
||||
<span class="keyword">bool</span> <a class="link" href="template_index.html#idm9216-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#idm6592-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#idm5344-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#idm4128-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#idm38704-bb">public member functions</a></span>
|
||||
<span class="keyword">bool</span> <a class="link" href="template_index.html#idm33984-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#idm31360-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#idm30112-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#idm28896-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#idm2192-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#idm1792-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#idm31504-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#idm26960-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#idm26560-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#idm23344-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="idp4976256"></a><h2>Description</h2>
|
||||
<a name="idp34557344"></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="idp4977040"></a><h3>
|
||||
<a name="idp34558128"></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="idm2736-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="idm27504-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="idp4982720"></a><h3>
|
||||
<a name="idm9616-bb"></a><code class="computeroutput">template_index</code> public member functions</h3>
|
||||
<a name="idp34563808"></a><h3>
|
||||
<a name="idm38704-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="idm9216-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="idm33984-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="idm6592-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="idm31360-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="idm5344-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="idm30112-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="idm4128-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="idm28896-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="idp5008448"></a><h3>
|
||||
<a name="idm2192-bb"></a><code class="computeroutput">template_index</code> public static functions</h3>
|
||||
<a name="idp34589536"></a><h3>
|
||||
<a name="idm26960-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="idm1792-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="idm26560-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="idm31504-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"><</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="idm23344-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>
|
||||
</li>
|
||||
</ol></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_hpp" title="Header <boost/type_index.hpp>">
|
||||
<link rel="prev" href="template_id_with_cvr.html" title="Function template template_id_with_cvr">
|
||||
<link rel="next" href="type_id_rtti_on_idp5183808.html" title="Function template type_id_rtti_only">
|
||||
<link rel="next" href="type_id_rtti_on_idp5198032.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="template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5183808.html"><img src="http://www.boost.org/doc/libs/1_49_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_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5198032.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.type_id"></a><div class="titlepage"></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="idp5171520"></a><h2>Description</h2>
|
||||
<a name="idp34752704"></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>
|
||||
@ -48,7 +48,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_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5183808.html"><img src="http://www.boost.org/doc/libs/1_49_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_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5198032.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
54
boost/type_id_rtti_on_idp5198032.html
Normal file
54
boost/type_id_rtti_on_idp5198032.html
Normal 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_49_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="../boost_typeindex_header_reference.html#header.boost.type_index_hpp" title="Header <boost/type_index.hpp>">
|
||||
<link rel="prev" href="type_id.html" title="Function template type_id">
|
||||
<link rel="next" href="type_id_rtti_on_idp5201168.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_49_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_49_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_49_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_49_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_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5201168.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.type_id_rtti_on_idp5198032"></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: <<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp" title="Header <boost/type_index.hpp>">boost/type_index.hpp</a>>
|
||||
|
||||
</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="idp34763792"></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 © 2012 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_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5201168.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
54
boost/type_id_rtti_on_idp5201168.html
Normal file
54
boost/type_id_rtti_on_idp5201168.html
Normal 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_49_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="../boost_typeindex_header_reference.html#header.boost.type_index_hpp" title="Header <boost/type_index.hpp>">
|
||||
<link rel="prev" href="type_id_rtti_on_idp5198032.html" title="Function template type_id_rtti_only">
|
||||
<link rel="next" href="operator_idp5204304.html" title="Function operator<<">
|
||||
</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_49_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_49_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_49_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_49_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id_rtti_on_idp5198032.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_idp5204304.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.type_id_rtti_on_idp5201168"></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: <<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp" title="Header <boost/type_index.hpp>">boost/type_index.hpp</a>>
|
||||
|
||||
</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="idp34774880"></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 © 2012 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_rtti_on_idp5198032.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="operator_idp5204304.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -38,61 +38,61 @@
|
||||
<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#idm20304-bb"><span class="identifier">type_index</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
<a class="link" href="type_index.html#idm12144-bb"><span class="identifier">type_index</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="type_index.html#idm26944-bb">public member functions</a></span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm26544-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#idm24080-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#idm22832-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#idm21568-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#idm18784-bb">public member functions</a></span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm18384-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#idm15920-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#idm14672-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#idm13408-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#idm19760-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#idm19360-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#idm16144-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#idm12288-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#idm11600-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#idm11200-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#idm7984-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#idm4128-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="idp5084048"></a><h2>Description</h2>
|
||||
<a name="idp34665136"></a><h2>Description</h2>
|
||||
<div class="refsect2">
|
||||
<a name="idp5084432"></a><h3>
|
||||
<a name="idp34665520"></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="idm20304-bb"></a><span class="identifier">type_index</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
|
||||
<pre class="literallayout"><a name="idm12144-bb"></a><span class="identifier">type_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="idp5089760"></a><h3>
|
||||
<a name="idm26944-bb"></a><code class="computeroutput">type_index</code> public member functions</h3>
|
||||
<a name="idp34670848"></a><h3>
|
||||
<a name="idm18784-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="idm26544-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="idm18384-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="idm24080-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="idm15920-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="idm22832-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="idm14672-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="idm21568-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="idm13408-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="idp5115360"></a><h3>
|
||||
<a name="idm19760-bb"></a><code class="computeroutput">type_index</code> public static functions</h3>
|
||||
<a name="idp34696448"></a><h3>
|
||||
<a name="idm11600-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="idm19360-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="idm11200-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="idm16144-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="idm7984-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="idm12288-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="idm4128-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>
|
||||
|
@ -27,10 +27,10 @@
|
||||
<a name="boost_typeindex.examples"></a><a class="link" href="examples.html" title="Examples">Examples</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
All the code in examples will work with and without RTTI support.
|
||||
All code in the examples will work with and without RTTI support.
|
||||
</p>
|
||||
<p>
|
||||
Class that allows to register type only once.
|
||||
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"><</span><span class="identifier">type_index</span><span class="special">></span> <span class="identifier">types_</span><span class="special">;</span>
|
||||
@ -41,7 +41,7 @@
|
||||
<span class="identifier">type_index</span> <span class="identifier">ti</span> <span class="special">=</span> <span class="identifier">type_id</span><span class="special"><</span><span class="identifier">T</span><span class="special">>();</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"Adding type "</span> <span class="special"><<</span> <span class="identifier">ti</span> <span class="special"><<</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 in registry"</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="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span>
|
||||
@ -58,6 +58,13 @@
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"Has type int: "</span> <span class="special"><<</span> <span class="identifier">tr</span><span class="special">.</span><span class="identifier">has_type</span><span class="special"><</span><span class="keyword">int</span><span class="special">>()</span>
|
||||
<span class="special"><<</span> <span class="string">"\nHas type std::string: "</span> <span class="special"><<</span> <span class="identifier">tr</span><span class="special">.</span><span class="identifier">has_type</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">>()</span>
|
||||
<span class="special"><<</span> <span class="char">'\n'</span><span class="special">;</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"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">>();</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">&</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"><<</span> <span class="identifier">e</span><span class="special">.</span><span class="identifier">what</span><span class="special">()</span> <span class="special"><<</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="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
@ -73,9 +80,9 @@
|
||||
<p>
|
||||
</p>
|
||||
<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 stroes
|
||||
function with result type <code class="computeroutput"><span class="identifier">ResultT</span></code>
|
||||
and any input parameter type. In <code class="computeroutput"><span class="identifier">opertaor</span><span class="special">()</span></code>, it checks for input parameter match and
|
||||
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>
|
||||
<p>
|
||||
|
@ -27,17 +27,18 @@
|
||||
<a name="boost_typeindex.getting_started"></a><a class="link" href="getting_started.html" title="Getting started">Getting started</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
In short: Just replace <code class="computeroutput"><span class="special">&</span><span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code>,
|
||||
<code class="computeroutput"><span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> with
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span></code> and
|
||||
<code class="computeroutput"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">&</span></code>, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code>
|
||||
with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code>. For cases when RTTI is really
|
||||
In short: Just replace <code class="computeroutput"><span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code>,
|
||||
<code class="computeroutput"><span class="special">&</span><span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code>
|
||||
with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span></code> and
|
||||
<code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code>, <code class="computeroutput"><span class="keyword">const</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">&</span></code>
|
||||
with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code>. For cases when RTTI is actually
|
||||
required, replace <code class="computeroutput"><span class="keyword">typeid</span><span class="special">(</span><span class="identifier">variable</span><span class="special">)</span></code>
|
||||
with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id_rtti_only</span><span class="special">(</span><span class="identifier">variable</span><span class="special">)</span></code>.
|
||||
That's all, you are now using Boost.TypeIndex.
|
||||
</p>
|
||||
<p>
|
||||
To get nice human readable name, use <code class="computeroutput"><span class="identifier">name_demangled</span><span class="special">()</span></code> member function:
|
||||
To get nice human readable names, use the <code class="computeroutput"><span class="identifier">name_demangled</span><span class="special">()</span></code> member function:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">type_index</span> <span class="identifier">ti</span> <span class="special">=</span> <span class="identifier">type_id</span><span class="special"><</span><span class="identifier">T</span><span class="special">>();</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">nice_name</span> <span class="special">=</span> <span class="identifier">ti</span><span class="special">.</span><span class="identifier">name_demangled</span><span class="special">();</span>
|
||||
@ -47,14 +48,16 @@
|
||||
<p>
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">template_index</span></code> and <code class="computeroutput"><span class="identifier">type_index</span></code> have full set of comparison operators,
|
||||
hashing functions and ostream operators. Thay can be used with any container
|
||||
class.
|
||||
<code class="computeroutput"><span class="identifier">template_index</span></code> and <code class="computeroutput"><span class="identifier">type_index</span></code> provide the full set of comparison
|
||||
operators, hashing functions and ostream operators. Thay can be used with any
|
||||
container class.
|
||||
</p>
|
||||
<p>
|
||||
If you need to save <code class="computeroutput"><span class="keyword">const</span></code>, <code class="computeroutput"><span class="keyword">volatile</span></code> and references, use <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_index</span></code>
|
||||
instead of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code>; <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_id_with_cvr</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span></code>
|
||||
instead of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span></code>.
|
||||
If you need to preserve <code class="computeroutput"><span class="keyword">const</span></code>,
|
||||
<code class="computeroutput"><span class="keyword">volatile</span></code> and references, use
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_index</span></code> instead of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code>;
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_id_with_cvr</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span></code> instead
|
||||
of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span></code>.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
|
@ -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="../boost/operator_idp5190080.html" title="Function operator<<">
|
||||
<link rel="prev" href="../boost/operator_idp5204304.html" title="Function operator<<">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@ -19,7 +19,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../boost/operator_idp5190080.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/home.png" alt="Home"></a>
|
||||
<a accesskey="p" href="../boost/operator_idp5204304.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/home.png" alt="Home"></a>
|
||||
</div>
|
||||
<div class="section boost_typeindex_performance">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
@ -30,22 +30,21 @@
|
||||
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 read-only section of binary file. Comparison operators
|
||||
are optimized as much as possible, and in worst case only execute <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">strcmp</span></code>.
|
||||
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> require
|
||||
only <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">strlen</span></code> call and are much 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>.
|
||||
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 <code class="computeroutput"><span class="identifier">BOOST_CURRENT_FUNCTION</span></code> macro, which could
|
||||
lead to code bloat. So if you do not need to save <code class="computeroutput"><span class="keyword">const</span></code>,
|
||||
<code class="computeroutput"><span class="keyword">volatile</span></code> and references, use
|
||||
<code class="computeroutput"><span class="identifier">type_index</span></code>.
|
||||
<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. In those cases where preserving <code class="computeroutput"><span class="keyword">const</span></code>,
|
||||
<code class="computeroutput"><span class="keyword">volatile</span></code> and references is not
|
||||
needed prefer using <code class="computeroutput"><span class="identifier">type_index</span></code>.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
@ -58,7 +57,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../boost/operator_idp5190080.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/home.png" alt="Home"></a>
|
||||
<a accesskey="p" href="../boost/operator_idp5204304.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_49_0/doc/src/images/home.png" alt="Home"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -35,20 +35,20 @@
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <a class="link" href="boost/template_index.html" title="Class template_index">template_index</a> <a class="link" href="boost/template_id.html" title="Function template template_id"><span class="identifier">template_id</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <a class="link" href="boost/template_index.html" title="Class template_index">template_index</a> <a class="link" href="boost/template_id_with_cvr.html" title="Function template template_id_with_cvr"><span class="identifier">template_id_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">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_rtti_on_idp5183808.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_idp5186944.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_idp5198032.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_idp5201168.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="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span> <span class="special">&</span>
|
||||
<a class="link" href="boost/operator_idp5190080.html" title="Function operator<<"><span class="keyword">operator</span><span class="special"><<</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">,</span> <a class="link" href="boost/template_index.html" title="Class template_index">template_index</a><span class="special">/</span><a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
|
||||
<a class="link" href="boost/operator_idp5204304.html" title="Function operator<<"><span class="keyword">operator</span><span class="special"><<</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">,</span> <a class="link" href="boost/template_index.html" title="Class template_index">template_index</a><span class="special">/</span><a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// All possible operators for comparison of std::type_info's and <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a>'es. </span>
|
||||
<span class="keyword">bool</span> <a name="boost.operator_idp5194224"></a><span class="keyword">operator</span><span class="special">(</span><a class="link" href="boost/type_index.html" title="Class type_index">type_index</a><span class="special">/</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> lhs<span class="special">,</span>
|
||||
<span class="keyword">bool</span> <a name="boost.operator_idp5208448"></a><span class="keyword">operator</span><span class="special">(</span><a class="link" href="boost/type_index.html" title="Class type_index">type_index</a><span class="special">/</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> lhs<span class="special">,</span>
|
||||
<a class="link" href="boost/type_index.html" title="Class type_index">type_index</a><span class="special">/</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// All possible operators for comparison of <a class="link" href="boost/template_index.html" title="Class template_index">template_index</a>'es. </span>
|
||||
<span class="keyword">bool</span> <a name="boost.operator_idp5197488"></a><span class="keyword">operator</span><span class="special">(</span><a class="link" href="boost/template_index.html" title="Class template_index">template_index</a> <span class="keyword">const</span> <span class="special">&</span> lhs<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> rhs<span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a name="boost.operator_idp5211792"></a><span class="keyword">operator</span><span class="special">(</span><a class="link" href="boost/template_index.html" title="Class template_index">template_index</a> <span class="keyword">const</span> <span class="special">&</span> lhs<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> rhs<span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// All possible operators for comparison of <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a>'es. </span>
|
||||
<span class="keyword">bool</span> <a name="boost.operator_idp5200752"></a><span class="keyword">operator</span><span class="special">(</span><a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span> lhs<span class="special">,</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a name="boost.operator_idp5215056"></a><span class="keyword">operator</span><span class="special">(</span><a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span> lhs<span class="special">,</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span>
|
||||
<span class="special">}</span></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
27
index.html
27
index.html
@ -46,9 +46,9 @@
|
||||
<a name="boost_typeindex.motivation"></a><a class="link" href="index.html#boost_typeindex.motivation" title="Motivation">Motivation</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
Sometimes getting and storing at runtime information about template type is
|
||||
required. For such cases usually used a construction like <code class="computeroutput"><span class="special">&</span><span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> or C++11 class <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code>.
|
||||
And that is the point, where problems strat:
|
||||
Sometimes getting and storing information about a template type at runtime
|
||||
is required. For such cases a construction like <code class="computeroutput"><span class="special">&</span><span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> or C++11 class <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code>
|
||||
is usually used. And that is the point, where problems strat:
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
@ -57,26 +57,21 @@
|
||||
(RTTI)
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code> strips
|
||||
const, volatile and references from type
|
||||
some implementations of <code class="computeroutput"><span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code>
|
||||
strip const, volatile and references from type, while others don't
|
||||
</li>
|
||||
<li class="listitem">
|
||||
some compilers have bugs and do not correctly compare <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span></code>
|
||||
across shared libraries
|
||||
objects across shared libraries
|
||||
</li>
|
||||
<li class="listitem">
|
||||
some implementations of <code class="computeroutput"><span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span></code>
|
||||
do not strip const, volatile and references
|
||||
</li>
|
||||
<li class="listitem">
|
||||
only a few STLs have <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code>
|
||||
implementation
|
||||
only a few implementations already 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
|
||||
</li>
|
||||
<li class="listitem">
|
||||
no nice and portable way to get human readable type name
|
||||
no nice and portable way to get human readable type names
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
@ -91,8 +86,8 @@
|
||||
<th align="left">Note</th>
|
||||
</tr>
|
||||
<tr><td align="left" valign="top"><p>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code> means here type. Think
|
||||
of it, as of <code class="computeroutput"><span class="identifier">T</span></code> in <code class="computeroutput"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span></code>
|
||||
<code class="computeroutput"><span class="identifier">T</span></code> means type here. Think
|
||||
of it as of <code class="computeroutput"><span class="identifier">T</span></code> in <code class="computeroutput"><span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">></span></code>
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
<div class="warning"><table border="0" summary="Warning">
|
||||
@ -107,7 +102,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: July 04, 2012 at 19:12:10 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: July 09, 2012 at 18:13:07 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
@ -7,7 +7,7 @@ boost/type_index.html
|
||||
boost/template_id.html
|
||||
boost/template_id_with_cvr.html
|
||||
boost/type_id.html
|
||||
boost/type_id_rtti_on_idp5183808.html
|
||||
boost/type_id_rtti_on_idp5186944.html
|
||||
boost/operator_idp5190080.html
|
||||
boost/type_id_rtti_on_idp5198032.html
|
||||
boost/type_id_rtti_on_idp5201168.html
|
||||
boost/operator_idp5204304.html
|
||||
boost_typeindex/performance.html
|
||||
|
Reference in New Issue
Block a user