summaryrefslogtreecommitdiff
path: root/doc/html/boost_typeindex_header_reference.html
blob: 1926550799fd68294b2a3d6700dabe7dfa8e2d26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Boost.TypeIndex Header Reference</title>
<link rel="stylesheet" href="../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="boost_typeindex.html" title="Chapter&#160;41.&#160;Boost.TypeIndex 4.1">
<link rel="prev" href="boost_typeindex/examples.html" title="Examples">
<link rel="next" href="boost/typeindex/type_index.html" title="Type definition type_index">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../boost.png"></td>
<td align="center"><a href="../../index.html">Home</a></td>
<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost_typeindex/examples.html"><img src="../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex.html"><img src="../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/typeindex/type_index.html"><img src="../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="boost_typeindex_header_reference"></a>Boost.TypeIndex Header Reference</h2></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index_hpp">Header &lt;boost/type_index.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.ctti_type_index_hpp">Header &lt;boost/type_index/ctti_type_index.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.runtime_cast_hpp">Header &lt;boost/type_index/runtime_cast.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.runtime_cast.boost_shared_ptr_cast_hpp">Header &lt;boost/type_index/runtime_cast/boost_shared_ptr_cast.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.runtime_cast.pointer_cast_hpp">Header &lt;boost/type_index/runtime_cast/pointer_cast.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.runtime_cast.reference_cast_hpp">Header &lt;boost/type_index/runtime_cast/reference_cast.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.runtime_cast.register_runtime_class_hpp">Header &lt;boost/type_index/runtime_cast/register_runtime_class.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.runtime_cast.std_shared_ptr_cast_hpp">Header &lt;boost/type_index/runtime_cast/std_shared_ptr_cast.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.stl_type_index_hpp">Header &lt;boost/type_index/stl_type_index.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_facade_hpp">Header &lt;boost/type_index/type_index_facade.hpp&gt;</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.type_index_hpp"></a>Header &lt;<a href="../../boost/type_index.hpp" target="_top">boost/type_index.hpp</a>&gt;</h3></div></div></div>
<p>Includes minimal set of headers required to use the Boost.TypeIndex library. </p>
<p>By inclusion of this file most optimal type index classes will be included and used as a boost::typeindex::type_index and boost::typeindex::type_info. </p>
<pre class="synopsis">

<a class="link" href="BOOST_TYPE_INDEX_REGISTER_CLASS.html" title="Macro BOOST_TYPE_INDEX_REGISTER_CLASS">BOOST_TYPE_INDEX_REGISTER_CLASS</a>
<a class="link" href="BOOST_TYPE_INDEX_FUNCTION_SIGNATURE.html" title="Macro BOOST_TYPE_INDEX_FUNCTION_SIGNATURE">BOOST_TYPE_INDEX_FUNCTION_SIGNATURE</a>
<a class="link" href="BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING.html" title="Macro BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING">BOOST_TYPE_INDEX_CTTI_USER_DEFINED_PARSING</a>
<a class="link" href="BOOST_TYPE_INDEX_USER_TYPEINDEX.html" title="Macro BOOST_TYPE_INDEX_USER_TYPEINDEX">BOOST_TYPE_INDEX_USER_TYPEINDEX</a>
<a class="link" href="BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html" title="Macro BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY">BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY</a></pre>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">typeindex</span> <span class="special">{</span>
    <span class="keyword">typedef</span> <span class="identifier">platform_specific</span> <a class="link" href="boost/typeindex/type_index.html" title="Type definition type_index"><span class="identifier">type_index</span></a><span class="special">;</span>
    <span class="keyword">typedef</span> <span class="identifier">type_index</span><span class="special">::</span><span class="identifier">type_info_t</span> <a class="link" href="boost/typeindex/type_info.html" title="Type definition type_info"><span class="identifier">type_info</span></a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="identifier">type_index</span> <a class="link" href="boost/typeindex/type_id.html" title="Function template type_id"><span class="identifier">type_id</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="identifier">type_index</span> <a class="link" href="boost/typeindex/type_id_with_cvr.html" title="Function template type_id_with_cvr"><span class="identifier">type_id_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="identifier">type_index</span> <a class="link" href="boost/typeindex/type_id_runtime.html" title="Function template type_id_runtime"><span class="identifier">type_id_runtime</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.type_index.ctti_type_index_hpp"></a>Header &lt;<a href="../../boost/type_index/ctti_type_index.hpp" target="_top">boost/type_index/ctti_type_index.hpp</a>&gt;</h3></div></div></div>
<p>Contains <a class="link" href="boost/typeindex/ctti_type_index.html" title="Class ctti_type_index">boost::typeindex::ctti_type_index</a> class that is constexpr if C++14 constexpr is supported by compiler. </p>
<p><a class="link" href="boost/typeindex/ctti_type_index.html" title="Class ctti_type_index">boost::typeindex::ctti_type_index</a> class can be used as a drop-in replacement for std::type_index.</p>
<p>It is used in situations when typeid() method is not available or BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY macro is defined. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">typeindex</span> <span class="special">{</span>
    <span class="keyword">class</span> <a class="link" href="boost/typeindex/ctti_type_index.html" title="Class ctti_type_index">ctti_type_index</a><span class="special">;</span>

    <span class="comment">// Helper method for getting detail::ctti_data of a template parameter T. </span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.typeindex.ctti_construct"></a><span class="identifier">ctti_construct</span><span class="special">(</span><span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.type_index.runtime_cast_hpp"></a>Header &lt;<a href="../../boost/type_index/runtime_cast.hpp" target="_top">boost/type_index/runtime_cast.hpp</a>&gt;</h3></div></div></div>
<p>Contains the basic utilities necessary to fully emulate dynamic_cast for language level constructs (raw pointers and references). </p>
<p>boost::typeindex::runtime_cast is a drop in replacement for dynamic_cast that can be used in situations where traditional rtti is either unavailable or undesirable. </p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.type_index.runtime_cast.boost_shared_ptr_cast_hpp"></a>Header &lt;<a href="../../boost/type_index/runtime_cast/boost_shared_ptr_cast.hpp" target="_top">boost/type_index/runtime_cast/boost_shared_ptr_cast.hpp</a>&gt;</h3></div></div></div>
<p>Contains the overload of boost::typeindex::runtime_pointer_cast for boost::shared_ptr types. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">typeindex</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> 
      <span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> 
      <a class="link" href="boost/typeindex/runtime_point_idp760952592.html" title="Function template runtime_pointer_cast"><span class="identifier">runtime_pointer_cast</span></a><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span> <span class="identifier">U</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.type_index.runtime_cast.pointer_cast_hpp"></a>Header &lt;<a href="../../boost/type_index/runtime_cast/pointer_cast.hpp" target="_top">boost/type_index/runtime_cast/pointer_cast.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">typeindex</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="boost/typeindex/runtime_cast_idp760960208.html" title="Function template runtime_cast"><span class="identifier">runtime_cast</span></a><span class="special">(</span><span class="identifier">U</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="identifier">T</span> <a class="link" href="boost/typeindex/runtime_cast_idp760965424.html" title="Function template runtime_cast"><span class="identifier">runtime_cast</span></a><span class="special">(</span><span class="identifier">U</span> <span class="keyword">const</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="identifier">T</span> <span class="special">*</span> <a class="link" href="boost/typeindex/runtime_point_idp760970640.html" title="Function template runtime_pointer_cast"><span class="identifier">runtime_pointer_cast</span></a><span class="special">(</span><span class="identifier">U</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> <span class="identifier">T</span> <span class="keyword">const</span> <span class="special">*</span> <a class="link" href="boost/typeindex/runtime_point_idp760975824.html" title="Function template runtime_pointer_cast"><span class="identifier">runtime_pointer_cast</span></a><span class="special">(</span><span class="identifier">U</span> <span class="keyword">const</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.type_index.runtime_cast.reference_cast_hpp"></a>Header &lt;<a href="../../boost/type_index/runtime_cast/reference_cast.hpp" target="_top">boost/type_index/runtime_cast/reference_cast.hpp</a>&gt;</h3></div></div></div>
<p>Contains the overload of boost::typeindex::runtime_cast for reference types. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">typeindex</span> <span class="special">{</span>
    <span class="keyword">struct</span> <a class="link" href="boost/typeindex/bad_runtime_cast.html" title="Struct bad_runtime_cast">bad_runtime_cast</a><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> 
      <span class="identifier">boost</span><span class="special">::</span><span class="identifier">add_reference</span><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="boost/typeindex/runtime_cast_idp760985104.html" title="Function template runtime_cast"><span class="identifier">runtime_cast</span></a><span class="special">(</span><span class="identifier">U</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> 
      <span class="identifier">boost</span><span class="special">::</span><span class="identifier">add_reference</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&gt;</span><span class="special">::</span><span class="identifier">type</span> <a class="link" href="boost/typeindex/runtime_cast_idp760991072.html" title="Function template runtime_cast"><span class="identifier">runtime_cast</span></a><span class="special">(</span><span class="identifier">U</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.type_index.runtime_cast.register_runtime_class_hpp"></a>Header &lt;<a href="../../boost/type_index/runtime_cast/register_runtime_class.hpp" target="_top">boost/type_index/runtime_cast/register_runtime_class.hpp</a>&gt;</h3></div></div></div>
<p>Contains the macros BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST and BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS. </p>
<pre class="synopsis">

<a class="link" href="BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS.html" title="Macro BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS">BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS</a>(base_class_seq)
<a class="link" href="BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST.html" title="Macro BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST">BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST</a>(base_class_seq)
<a class="link" href="BOOST_TYPE_INDEX_NO_BASE_CLASS.html" title="Macro BOOST_TYPE_INDEX_NO_BASE_CLASS">BOOST_TYPE_INDEX_NO_BASE_CLASS</a></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.type_index.runtime_cast.std_shared_ptr_cast_hpp"></a>Header &lt;<a href="../../boost/type_index/runtime_cast/std_shared_ptr_cast.hpp" target="_top">boost/type_index/runtime_cast/std_shared_ptr_cast.hpp</a>&gt;</h3></div></div></div>
<p>Contains the overload of boost::typeindex::runtime_pointer_cast for std::shared_ptr types. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">typeindex</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</span> 
      <span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="boost/typeindex/runtime_point_idp761013952.html" title="Function template runtime_pointer_cast"><span class="identifier">runtime_pointer_cast</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span><span class="special">&lt;</span> <span class="identifier">U</span> <span class="special">&gt;</span> <span class="keyword">const</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.type_index.stl_type_index_hpp"></a>Header &lt;<a href="../../boost/type_index/stl_type_index.hpp" target="_top">boost/type_index/stl_type_index.hpp</a>&gt;</h3></div></div></div>
<p>Contains <a class="link" href="boost/typeindex/stl_type_index.html" title="Class stl_type_index">boost::typeindex::stl_type_index</a> class. </p>
<p><a class="link" href="boost/typeindex/stl_type_index.html" title="Class stl_type_index">boost::typeindex::stl_type_index</a> class can be used as a drop-in replacement for std::type_index.</p>
<p>It is used in situations when RTTI is enabled or typeid() method is available. When typeid() is disabled or BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY macro is defined boost::typeindex::ctti is usually used instead of <a class="link" href="boost/typeindex/stl_type_index.html" title="Class stl_type_index">boost::typeindex::stl_type_index</a>. </p>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">namespace</span> <span class="identifier">typeindex</span> <span class="special">{</span>
    <span class="keyword">class</span> <a class="link" href="boost/typeindex/stl_type_index.html" title="Class stl_type_index">stl_type_index</a><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.type_index.type_index_facade_hpp"></a>Header &lt;<a href="../../boost/type_index/type_index_facade.hpp" target="_top">boost/type_index/type_index_facade.hpp</a>&gt;</h3></div></div></div>
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
  <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> It<span class="special">&gt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.hash_range_idp761143088"></a><span class="identifier">hash_range</span><span class="special">(</span><span class="identifier">It</span><span class="special">,</span> <span class="identifier">It</span><span class="special">)</span><span class="special">;</span>
  <span class="keyword">namespace</span> <span class="identifier">typeindex</span> <span class="special">{</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Derived<span class="special">,</span> <span class="keyword">typename</span> TypeInfo<span class="special">&gt;</span> <span class="keyword">class</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a><span class="special">;</span>

    <span class="comment">// noexcept comparison operators for <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> classes. </span>
    <span class="keyword">bool</span> <a name="boost.typeindex.operator==,!=_idp761120544"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">,</span><span class="special">!=</span><span class="special">,</span><span class="special">&lt;</span><span class="special">,</span><span class="special">...</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">&amp;</span> lhs<span class="special">,</span> 
                             <span class="keyword">const</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>

    <span class="comment">// noexcept comparison operators for <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> and it's TypeInfo classes. </span>
    <span class="keyword">bool</span> <a name="boost.typeindex.operator==,!=_idp761124704"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">,</span><span class="special">!=</span><span class="special">,</span><span class="special">&lt;</span><span class="special">,</span><span class="special">...</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">&amp;</span> lhs<span class="special">,</span> 
                             <span class="keyword">const</span> <span class="identifier">TypeInfo</span> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>

    <span class="comment">// noexcept comparison operators for <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a>'s TypeInfo and <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> classes. </span>
    <span class="keyword">bool</span> <a name="boost.typeindex.operator==,!=_idp761128432"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">,</span><span class="special">!=</span><span class="special">,</span><span class="special">&lt;</span><span class="special">,</span><span class="special">...</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">TypeInfo</span> <span class="special">&amp;</span> lhs<span class="special">,</span> 
                             <span class="keyword">const</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">&amp;</span> rhs<span class="special">)</span><span class="special">;</span>

    <span class="comment">// Ostream operator that will output demangled name. </span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> TriatT<span class="special">,</span> <span class="keyword">typename</span> Derived<span class="special">,</span> 
             <span class="keyword">typename</span> TypeInfo<span class="special">&gt;</span> 
      <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">&gt;</span> <span class="special">&amp;</span> 
      <a name="boost.typeindex.operator_idp761132880"></a><span class="keyword">operator</span><span class="special">&lt;&lt;</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">&gt;</span> <span class="special">&amp;</span> ostr<span class="special">,</span> 
                 <span class="keyword">const</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a><span class="special">&lt;</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="identifier">TypeInfo</span> <span class="special">&gt;</span> <span class="special">&amp;</span> ind<span class="special">)</span><span class="special">;</span>
    <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> Derived<span class="special">,</span> <span class="keyword">typename</span> TypeInfo<span class="special">&gt;</span> 
      <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="boost/typeindex/hash_value_idp761138432.html" title="Function template hash_value"><span class="identifier">hash_value</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/typeindex/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a><span class="special">&lt;</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="identifier">TypeInfo</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
  <span class="special">}</span>
<span class="special">}</span></pre>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2012-2016 Antony Polukhin<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="boost_typeindex/examples.html"><img src="../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex.html"><img src="../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/typeindex/type_index.html"><img src="../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>