forked from boostorg/type_index
Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
5742c54c70 | |||
f6e409a42d | |||
7c0889cf2a |
@ -1,54 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Macro BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header <boost/type_index/template_info.hpp>">
|
||||
<link rel="prev" href="BOOST_TYPE_INDEX_FUNCTION_SIGNATURE.html" title="Macro BOOST_TYPE_INDEX_FUNCTION_SIGNATURE">
|
||||
<link rel="next" href="BOOST_TYPE_INDEX_CTTI_END_SKIP.html" title="Macro BOOST_TYPE_INDEX_CTTI_END_SKIP">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="BOOST_TYPE_INDEX_FUNCTION_SIGNATURE.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_CTTI_END_SKIP.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Macro BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></h2>
|
||||
<p>BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</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.template_info_hpp" title="Header <boost/type_index/template_info.hpp>">boost/type_index/template_info.hpp</a>>
|
||||
|
||||
</span>BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp6143040"></a><h2>Description</h2>
|
||||
<p>BOOST_TYPE_INDEX_FUNCTION_SIGNATURE, BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP and BOOST_TYPE_INDEX_CTTI_END_SKIP macroses are used for adding a support for compilers, that by default are not recognized by TypeIndex library.</p>
|
||||
<p>See Compiler support for more info </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, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="BOOST_TYPE_INDEX_FUNCTION_SIGNATURE.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_CTTI_END_SKIP.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,54 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Macro BOOST_TYPE_INDEX_CTTI_END_SKIP</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header <boost/type_index/template_info.hpp>">
|
||||
<link rel="prev" href="BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP.html" title="Macro BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP">
|
||||
<link rel="next" href="boost/type_info.html" title="Class type_info">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/type_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="BOOST_TYPE_INDEX_CTTI_END_SKIP"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Macro BOOST_TYPE_INDEX_CTTI_END_SKIP</span></h2>
|
||||
<p>BOOST_TYPE_INDEX_CTTI_END_SKIP</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.template_info_hpp" title="Header <boost/type_index/template_info.hpp>">boost/type_index/template_info.hpp</a>>
|
||||
|
||||
</span>BOOST_TYPE_INDEX_CTTI_END_SKIP</pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp6148544"></a><h2>Description</h2>
|
||||
<p>BOOST_TYPE_INDEX_FUNCTION_SIGNATURE, BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP and BOOST_TYPE_INDEX_CTTI_END_SKIP macroses are used for adding a support for compilers, that by default are not recognized by TypeIndex library.</p>
|
||||
<p>See Compiler support for more info </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, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/type_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -4,10 +4,10 @@
|
||||
<title>Macro BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header <boost/type_index/type_info.hpp>">
|
||||
<link rel="prev" href="boost/type_id_rtti_on_idp5823984.html" title="Function template type_id_rtti_only">
|
||||
<link rel="next" href="boost_typeindex/space_and_performance.html" title="Space and Performance">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 3.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="BOOST_TYPE_INDEX_REGISTER_CLASS.html" title="Macro BOOST_TYPE_INDEX_REGISTER_CLASS">
|
||||
<link rel="next" href="BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS.html" title="Macro BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS">
|
||||
</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="boost/type_id_rtti_on_idp5823984.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost_typeindex/space_and_performance.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="BOOST_TYPE_INDEX_REGISTER_CLASS.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY"></a><div class="titlepage"></div>
|
||||
@ -29,17 +29,17 @@
|
||||
<p>BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY</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.type_info_hpp" title="Header <boost/type_index/type_info.hpp>">boost/type_index/type_info.hpp</a>>
|
||||
<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>BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY</pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp6553376"></a><h2>Description</h2>
|
||||
<p>Define the BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY macro if you are mixing objects compiled with different RTTI flags. This will force the usage of boost::template_index class instead of <a class="link" href="boost/type_index.html" title="Class type_index">boost::type_index</a>. </p>
|
||||
<a name="idp62306192"></a><h2>Description</h2>
|
||||
<p>BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY is a helper macro that must be defined if mixing RTTI on/off modules. See "Mixing sources with RTTI on and RTTI off" section of documentation for more info. </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, 2013 Antony Polukhin<p>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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>
|
||||
@ -47,7 +47,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost/type_id_rtti_on_idp5823984.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost_typeindex/space_and_performance.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="BOOST_TYPE_INDEX_REGISTER_CLASS.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,55 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Macro BOOST_TYPE_INDEX_FUNCTION_SIGNATURE</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header <boost/type_index/template_info.hpp>">
|
||||
<link rel="prev" href="boost/template_id_with_cvr.html" title="Function template template_id_with_cvr">
|
||||
<link rel="next" href="BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP.html" title="Macro BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost/template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="BOOST_TYPE_INDEX_FUNCTION_SIGNATURE"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Macro BOOST_TYPE_INDEX_FUNCTION_SIGNATURE</span></h2>
|
||||
<p>BOOST_TYPE_INDEX_FUNCTION_SIGNATURE</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.template_info_hpp" title="Header <boost/type_index/template_info.hpp>">boost/type_index/template_info.hpp</a>>
|
||||
|
||||
</span>BOOST_TYPE_INDEX_FUNCTION_SIGNATURE</pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp6134544"></a><h2>Description</h2>
|
||||
<p>BOOST_TYPE_INDEX_FUNCTION_SIGNATURE is used by <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a> class to deduce the name of a template parameter. If your compiler is not recognized by the TypeIndex library and you wish to work with <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a>, you may define this macro by yourself.</p>
|
||||
<p>BOOST_TYPE_INDEX_FUNCTION_SIGNATURE must be defined to a compiler specific macro, that outputs the WHOLE function signature, including template parameters.</p>
|
||||
<p>If your compiler is not recognised and BOOST_TYPE_INDEX_FUNCTION_SIGNATURE is not defined, then a compile-time error will arise at any attempt to use <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a> or boost::template_index classes. </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, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost/template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
49
BOOST_TYPE_INDEX_REGISTER_CLASS.html
Normal file
49
BOOST_TYPE_INDEX_REGISTER_CLASS.html
Normal file
@ -0,0 +1,49 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Macro BOOST_TYPE_INDEX_REGISTER_CLASS</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 3.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="BOOST_TYPE_INDEX_USER_TYPEINDEX.html" title="Macro BOOST_TYPE_INDEX_USER_TYPEINDEX">
|
||||
<link rel="next" href="BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html" title="Macro BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="BOOST_TYPE_INDEX_USER_TYPEINDEX.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="BOOST_TYPE_INDEX_REGISTER_CLASS"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Macro BOOST_TYPE_INDEX_REGISTER_CLASS</span></h2>
|
||||
<p>BOOST_TYPE_INDEX_REGISTER_CLASS</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>BOOST_TYPE_INDEX_REGISTER_CLASS</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 © 2012-2014 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="BOOST_TYPE_INDEX_USER_TYPEINDEX.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
54
BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS.html
Normal file
54
BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS.html
Normal file
@ -0,0 +1,54 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Macro BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="boost_typeindex_header_reference.html#header.boost.type_index.ctti_register_class_hpp" title="Header <boost/type_index/ctti_register_class.hpp>">
|
||||
<link rel="prev" href="BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html" title="Macro BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY">
|
||||
<link rel="next" href="boost/typeind/ctti_type_index.html" title="Class ctti_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="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.ctti_register_class_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/typeind/ctti_type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Macro BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS</span></h2>
|
||||
<p>BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS</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.ctti_register_class_hpp" title="Header <boost/type_index/ctti_register_class.hpp>">boost/type_index/ctti_register_class.hpp</a>>
|
||||
|
||||
</span>BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS</pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp62313296"></a><h2>Description</h2>
|
||||
<p>BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS is used by BOOST_TYPE_INDEX_REGISTER_CLASS when RTTI is off and <code class="computeroutput">typeid()</code> does not work.</p>
|
||||
<p>BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS macro expands to declaration and implementation of <code class="computeroutput">virtual const detail::ctti_data& type_id_runtime() const</code> method. </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-2014 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.ctti_register_class_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/typeind/ctti_type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
54
BOOST_TYPE_INDEX_REGISTER_STL_CLASS.html
Normal file
54
BOOST_TYPE_INDEX_REGISTER_STL_CLASS.html
Normal file
@ -0,0 +1,54 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Macro BOOST_TYPE_INDEX_REGISTER_STL_CLASS</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="boost_typeindex_header_reference.html#header.boost.type_index.stl_register_class_hpp" title="Header <boost/type_index/stl_register_class.hpp>">
|
||||
<link rel="prev" href="boost/typeind/ctti_type_index.html" title="Class ctti_type_index">
|
||||
<link rel="next" href="boost/typeind/stl_type_index.html" title="Class stl_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="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost/typeind/ctti_type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.stl_register_class_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/typeind/stl_type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="BOOST_TYPE_INDEX_REGISTER_STL_CLASS"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Macro BOOST_TYPE_INDEX_REGISTER_STL_CLASS</span></h2>
|
||||
<p>BOOST_TYPE_INDEX_REGISTER_STL_CLASS</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.stl_register_class_hpp" title="Header <boost/type_index/stl_register_class.hpp>">boost/type_index/stl_register_class.hpp</a>>
|
||||
|
||||
</span>BOOST_TYPE_INDEX_REGISTER_STL_CLASS</pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp62470016"></a><h2>Description</h2>
|
||||
<p>BOOST_TYPE_INDEX_REGISTER_STL_CLASS is used by BOOST_TYPE_INDEX_REGISTER_CLASS when RTTI is off and <code class="computeroutput">typeid()</code> does work.</p>
|
||||
<p>BOOST_TYPE_INDEX_REGISTER_STL_CLASS macro expands to declaration and implementation of <code class="computeroutput">virtual const std::type_info& type_id_runtime() const</code> method. </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-2014 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/typeind/ctti_type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index.stl_register_class_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/typeind/stl_type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
54
BOOST_TYPE_INDEX_USER_TYPEINDEX.html
Normal file
54
BOOST_TYPE_INDEX_USER_TYPEINDEX.html
Normal file
@ -0,0 +1,54 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Macro BOOST_TYPE_INDEX_USER_TYPEINDEX</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 3.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="boost/typeind/type_id_runtime.html" title="Function template type_id_runtime">
|
||||
<link rel="next" href="BOOST_TYPE_INDEX_REGISTER_CLASS.html" title="Macro BOOST_TYPE_INDEX_REGISTER_CLASS">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost/typeind/type_id_runtime.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_REGISTER_CLASS.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="BOOST_TYPE_INDEX_USER_TYPEINDEX"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Macro BOOST_TYPE_INDEX_USER_TYPEINDEX</span></h2>
|
||||
<p>BOOST_TYPE_INDEX_USER_TYPEINDEX</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>BOOST_TYPE_INDEX_USER_TYPEINDEX</pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp62298272"></a><h2>Description</h2>
|
||||
<p>BOOST_TYPE_INDEX_USER_TYPEINDEX can be defined to the path to header file with user provided implementation of type_index.</p>
|
||||
<p>See "Making own type_index" section of documentation for usage example. </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-2014 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/typeind/type_id_runtime.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="BOOST_TYPE_INDEX_REGISTER_CLASS.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,54 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Function template template_id</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header <boost/type_index/template_info.hpp>">
|
||||
<link rel="prev" href="template_info.html" title="Class template_info">
|
||||
<link rel="next" href="template_id_with_cvr.html" title="Function template template_id_with_cvr">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="template_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.template_id"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Function template template_id</span></h2>
|
||||
<p>boost::template_id</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header <boost/type_index/template_info.hpp>">boost/type_index/template_info.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> <span class="identifier">template_id</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp6114288"></a><h2>Description</h2>
|
||||
<p>Method for constructing <code class="computeroutput"><a class="link" href="template_info.html" title="Class template_info">template_info</a></code> instance for type T. Strips const, volatile and & modifiers from T. </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, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="template_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,54 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Function template template_id_with_cvr</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header <boost/type_index/template_info.hpp>">
|
||||
<link rel="prev" href="template_id.html" title="Function template template_id">
|
||||
<link rel="next" href="../BOOST_TYPE_INDEX_FUNCTION_SIGNATURE.html" title="Macro BOOST_TYPE_INDEX_FUNCTION_SIGNATURE">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="template_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../BOOST_TYPE_INDEX_FUNCTION_SIGNATURE.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.template_id_with_cvr"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Function template template_id_with_cvr</span></h2>
|
||||
<p>boost::template_id_with_cvr</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header <boost/type_index/template_info.hpp>">boost/type_index/template_info.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> <span class="identifier">template_id_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp6127200"></a><h2>Description</h2>
|
||||
<p>Method for constructing <code class="computeroutput"><a class="link" href="template_info.html" title="Class template_info">template_info</a></code> instance for type T. Does not strip const, volatile and & modifiers from T. If T has no const, volatile, & and && modifiers, then returns exactly the same result as in case of calling <code class="computeroutput">template_id<T>()</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, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="template_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../BOOST_TYPE_INDEX_FUNCTION_SIGNATURE.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,54 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Type definition template_index</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_hpp" title="Header <boost/type_index/template_index.hpp>">
|
||||
<link rel="prev" href="type_index.html" title="Class type_index">
|
||||
<link rel="next" href="template_info.html" title="Class template_info">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.template_index"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Type definition template_index</span></h2>
|
||||
<p>template_index</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_hpp" title="Header <boost/type_index/template_index.hpp>">boost/type_index/template_index.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="keyword">typedef</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="identifier">template_index</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp5846128"></a><h2>Description</h2>
|
||||
<p>boost::template_index is just a typedef of <a class="link" href="template_info.html" title="Class template_info">boost::template_info</a>, that combines functionality of <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> and <a class="link" href="type_index.html" title="Class type_index">boost::type_index</a> but can work with RTTI disabled. </p>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,120 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Class template_info</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header <boost/type_index/template_info.hpp>">
|
||||
<link rel="prev" href="template_index.html" title="Type definition template_index">
|
||||
<link rel="next" href="template_id.html" title="Function template template_id">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="template_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.template_info"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Class template_info</span></h2>
|
||||
<p>boost::template_info</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp" title="Header <boost/type_index/template_info.hpp>">boost/type_index/template_info.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="keyword">class</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">{</span>
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="comment">// <a class="link" href="template_info.html#boost.template_infoconstruct-copy-destruct">construct/copy/destruct</a></span>
|
||||
<a class="link" href="template_info.html#idp5739488-bb"><span class="identifier">template_info</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="template_info.html#idp5720592-bb">public member functions</a></span>
|
||||
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5721088-bb"><span class="identifier">before</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="template_info.html#idp5723616-bb"><span class="identifier">name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="template_info.html#idp5724864-bb"><span class="identifier">name_demangled</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5726112-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5728112-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5730112-bb"><span class="keyword">operator</span><span class="special"><</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5732112-bb"><span class="keyword">operator</span><span class="special">></span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5734112-bb"><span class="keyword">operator</span><span class="special"><=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="template_info.html#idp5736112-bb"><span class="keyword">operator</span><span class="special">>=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="template_info.html#idp5738112-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="template_info.html#idp5740240-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> <span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> <a class="link" href="template_info.html#idp5740736-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> <span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> <a class="link" href="template_info.html#idp5744128-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="idp5989808"></a><h2>Description</h2>
|
||||
<p>Copyable <a class="link" href="type_info.html" title="Class type_info">type_info</a> class that does not require RTTI. When RTTI is disabled this class will be used instead of <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> and <a class="link" href="type_index.html" title="Class type_index">boost::type_index</a>. </p>
|
||||
<div class="refsect2">
|
||||
<a name="idp5992432"></a><h3>
|
||||
<a name="boost.template_infoconstruct-copy-destruct"></a><code class="computeroutput">template_info</code>
|
||||
public
|
||||
construct/copy/destruct</h3>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
|
||||
<pre class="literallayout"><a name="idp5739488-bb"></a><span class="identifier">template_info</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Default constructor. </li></ol></div>
|
||||
</div>
|
||||
<div class="refsect2">
|
||||
<a name="idp5998320"></a><h3>
|
||||
<a name="idp5720592-bb"></a><code class="computeroutput">template_info</code> public member functions</h3>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">bool</span> <a name="idp5721088-bb"></a><span class="identifier">before</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p>Returns true if the type precedes the type of rhs in the collation order. The collation order is just an internal order. </p>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idp5723616-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Returns raw name. </li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idp5724864-bb"></a><span class="identifier">name_demangled</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Returns user-friendly name. </li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5726112-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5728112-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5730112-bb"></a><span class="keyword">operator</span><span class="special"><</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5732112-bb"></a><span class="keyword">operator</span><span class="special">></span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5734112-bb"></a><span class="keyword">operator</span><span class="special"><=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5736112-bb"></a><span class="keyword">operator</span><span class="special">>=</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp5738112-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Function for getting hash value. </li>
|
||||
</ol></div>
|
||||
</div>
|
||||
<div class="refsect2">
|
||||
<a name="idp6079392"></a><h3>
|
||||
<a name="idp5740240-bb"></a><code class="computeroutput">template_info</code> public static functions</h3>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> <a name="idp5740736-bb"></a><span class="identifier">construct</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
|
||||
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="template_info.html" title="Class template_info">boost::template_info</a></code> instance for type T. Strips const, volatile and & modifiers from T.</p>
|
||||
<p>Works exactly like boost::template_id(). </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> <span class="keyword">const</span> <a class="link" href="template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> <a name="idp5744128-bb"></a><span class="identifier">construct_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre>
|
||||
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="template_info.html" title="Class template_info">template_info</a></code> instance for type T. Does not strip const, volatile and & modifiers from T.</p>
|
||||
<p>Works exactly like boost::template_id_with_cvr(). </p>
|
||||
</li>
|
||||
</ol></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="template_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,54 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Function template type_id</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header <boost/type_index/type_info.hpp>">
|
||||
<link rel="prev" href="type_info.html" title="Class type_info">
|
||||
<link rel="next" href="type_id_with_cvr.html" title="Function template type_id_with_cvr">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.type_id"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Function template type_id</span></h2>
|
||||
<p>boost::type_id</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header <boost/type_index/type_info.hpp>">boost/type_index/type_info.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> <span class="identifier">type_id</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp6504480"></a><h2>Description</h2>
|
||||
<p>Function to get <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code> for a type T. Strips const, volatile and & modifiers from T. </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, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,54 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Function template type_id_rtti_only</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header <boost/type_index/type_info.hpp>">
|
||||
<link rel="prev" href="type_id_with_cvr.html" title="Function template type_id_with_cvr">
|
||||
<link rel="next" href="type_id_rtti_on_idp5823984.html" title="Function template type_id_rtti_only">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5823984.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.type_id_rtti_on_idp5820176"></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.type_info_hpp" title="Header <boost/type_index/type_info.hpp>">boost/type_index/type_info.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> <span class="identifier">type_id_rtti_only</span><span class="special">(</span><span class="identifier">T</span> <span class="special">&</span> rtti_val<span class="special">)</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp6532368"></a><h2>Description</h2>
|
||||
<p>Function that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code>. This method available only with RTTI enabled. Without RTTI support it won't compile, producing a compile-time error with message: "boost::type_id_rtti_only(T&) requires RTTI" </p>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5823984.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,54 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Function template type_id_rtti_only</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header <boost/type_index/type_info.hpp>">
|
||||
<link rel="prev" href="type_id_rtti_on_idp5820176.html" title="Function template type_id_rtti_only">
|
||||
<link rel="next" href="../BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html" title="Macro BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id_rtti_on_idp5820176.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.type_id_rtti_on_idp5823984"></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.type_info_hpp" title="Header <boost/type_index/type_info.hpp>">boost/type_index/type_info.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> <span class="identifier">type_id_rtti_only</span><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span> rtti_val<span class="special">)</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp6546928"></a><h2>Description</h2>
|
||||
<p>Function that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code>. This method available only with RTTI enabled. Without RTTI support it won't compile, producing a compile-time error with message: "boost::type_id_rtti_only(T*) requires RTTI" </p>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id_rtti_on_idp5820176.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,54 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Function template type_id_with_cvr</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header <boost/type_index/type_info.hpp>">
|
||||
<link rel="prev" href="type_id.html" title="Function template type_id">
|
||||
<link rel="next" href="type_id_rtti_on_idp5820176.html" title="Function template type_id_rtti_only">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5820176.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.type_id_with_cvr"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Function template type_id_with_cvr</span></h2>
|
||||
<p>boost::type_id_with_cvr</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header <boost/type_index/type_info.hpp>">boost/type_index/type_info.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> <span class="identifier">type_id_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp6517280"></a><h2>Description</h2>
|
||||
<p>Function for constructing <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code> instance for type T. Does not strip const, volatile, & and && modifiers from T. If T has no const, volatile, & and && modifiers, then returns exactly the same result as in case of calling <code class="computeroutput">type_id<T>()</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, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_rtti_on_idp5820176.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,121 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Class type_index</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_hpp" title="Header <boost/type_index/type_index.hpp>">
|
||||
<link rel="prev" href="../boost_typeindex_header_reference.html" title="Boost.TypeIndex Header Reference">
|
||||
<link rel="next" href="template_index.html" title="Type definition template_index">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../boost_typeindex_header_reference.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.type_index"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Class type_index</span></h2>
|
||||
<p>boost::type_index</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.type_index_hpp" title="Header <boost/type_index/type_index.hpp>">boost/type_index/type_index.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="keyword">class</span> <a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="special">{</span>
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="comment">// <a class="link" href="type_index.html#boost.type_indexconstruct-copy-destruct">construct/copy/destruct</a></span>
|
||||
<a class="link" href="type_index.html#idm1488-bb"><span class="identifier">type_index</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<a class="link" href="type_index.html#idp5681888-bb"><span class="identifier">type_index</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<a class="link" href="type_index.html#idp5684896-bb"><span class="identifier">type_index</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="type_index.html#idm32464-bb">public member functions</a></span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm31904-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="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="type_index.html#idm29280-bb"><span class="identifier">name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="type_index.html#idm27872-bb"><span class="identifier">name_demangled</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm26496-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm24400-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm22304-bb"><span class="keyword">operator</span><span class="special"><</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm20208-bb"><span class="keyword">operator</span><span class="special">></span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm18112-bb"><span class="keyword">operator</span><span class="special"><=</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm16016-bb"><span class="keyword">operator</span><span class="special">>=</span></a><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm13920-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm12112-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm10304-bb"><span class="keyword">operator</span><span class="special"><</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm8496-bb"><span class="keyword">operator</span><span class="special">></span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm6688-bb"><span class="keyword">operator</span><span class="special"><=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index.html#idm4880-bb"><span class="keyword">operator</span><span class="special">>=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="type_index.html#idm3072-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="special">}</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp5685184"></a><h2>Description</h2>
|
||||
<p>This class is designed to be a drop-in replacement for C++11 std::type_index class.</p>
|
||||
<p>Copyable std::type_index class that requires RTTI. When RTTI is disabled boost::template_index will be used instead of this class. </p>
|
||||
<div class="refsect2">
|
||||
<a name="idp5686224"></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="idm1488-bb"></a><span class="identifier">type_index</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Default constructor. </li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><a name="idp5681888-bb"></a><span class="identifier">type_index</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> inf<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Constructs <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">type_index</a></code> from an instance of <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code>. </li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><a name="idp5684896-bb"></a><span class="identifier">type_index</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="special">&</span> inf<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Constructs <code class="computeroutput"><a class="link" href="type_index.html" title="Class type_index">type_index</a></code> from an instance of std::type_info. </li>
|
||||
</ol></div>
|
||||
</div>
|
||||
<div class="refsect2">
|
||||
<a name="idp5708144"></a><h3>
|
||||
<a name="idm32464-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="idm31904-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="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p>Returns true if the type precedes the type of rhs in the collation order. The collation order is just an internal order. </p>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idm29280-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Returns raw name. </li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idm27872-bb"></a><span class="identifier">name_demangled</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Returns user-friendly name. </li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm26496-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm24400-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm22304-bb"></a><span class="keyword">operator</span><span class="special"><</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm20208-bb"></a><span class="keyword">operator</span><span class="special">></span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm18112-bb"></a><span class="keyword">operator</span><span class="special"><=</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm16016-bb"></a><span class="keyword">operator</span><span class="special">>=</span><span class="special">(</span><a class="link" href="type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm13920-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm12112-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm10304-bb"></a><span class="keyword">operator</span><span class="special"><</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm8496-bb"></a><span class="keyword">operator</span><span class="special">></span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm6688-bb"></a><span class="keyword">operator</span><span class="special"><=</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idm4880-bb"></a><span class="keyword">operator</span><span class="special">>=</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idm3072-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Function for getting hash value. </li>
|
||||
</ol></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../boost_typeindex_header_reference.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="template_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,151 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Class type_info</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header <boost/type_index/type_info.hpp>">
|
||||
<link rel="prev" href="../BOOST_TYPE_INDEX_CTTI_END_SKIP.html" title="Macro BOOST_TYPE_INDEX_CTTI_END_SKIP">
|
||||
<link rel="next" href="type_id.html" title="Function template type_id">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../BOOST_TYPE_INDEX_CTTI_END_SKIP.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.type_info"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Class type_info</span></h2>
|
||||
<p>boost::type_info</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp" title="Header <boost/type_index/type_info.hpp>">boost/type_index/type_info.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="keyword">class</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">{</span>
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="comment">// <a class="link" href="type_info.html#boost.type_infoconstruct-copy-destruct">construct/copy/destruct</a></span>
|
||||
<a class="link" href="type_info.html#idp5779120-bb"><span class="identifier">type_info</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
<a class="link" href="type_info.html#idp5779376-bb"><span class="identifier">type_info</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="type_info.html#idp5780640-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> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> <span class="special">&</span> <a class="link" href="type_info.html#idp5781136-bb"><span class="identifier">construct</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span>
|
||||
<span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> <span class="special">&</span> <a class="link" href="type_info.html#idp5784848-bb"><span class="identifier">construct_with_cvr</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span>
|
||||
<span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> <a class="link" href="type_info.html#idp5789072-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="keyword">noexcept</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> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> <a class="link" href="type_info.html#idp5793424-bb"><span class="identifier">construct_rtti_only</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="type_info.html#idp5797664-bb">public member functions</a></span>
|
||||
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="type_info.html#idp5798160-bb"><span class="identifier">name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="type_info.html#idp5799408-bb"><span class="identifier">name_demangled</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_info.html#idp5800656-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_info.html#idp5802528-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_info.html#idp5804400-bb"><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_info.html#idp5806016-bb"><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_info.html#idp5807632-bb"><span class="identifier">before</span></a><span class="special">(</span><a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_info.html#idp5810048-bb"><span class="identifier">before</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="type_info.html#idp5812208-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="special">}</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp6347792"></a><h2>Description</h2>
|
||||
<p><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> is a class that can be used as a drop-in replacement for std::type_info.</p>
|
||||
<p><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> class is used in situations when RTTI is enabled. When RTTI is disabled or BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY macro is defined <a class="link" href="template_info.html" title="Class template_info">boost::template_info</a> is used instead of it.</p>
|
||||
<p>Unlike std::type_info this class:</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem"><p>has a name_demangled() function for getting human-readable type names</p></li>
|
||||
<li class="listitem"><p>name() function always noexcept and returns simple mangled name as character a character array</p></li>
|
||||
<li class="listitem"><p>contains workarounds for some compiler issues</p></li>
|
||||
</ul></div>
|
||||
<p>
|
||||
</p>
|
||||
<p><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> is not copyable and is not default constructible. Use boost::type_id* functions to get const references to instances of <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> objects. </p>
|
||||
<div class="refsect2">
|
||||
<a name="idp6355152"></a><h3>
|
||||
<a name="boost.type_infoconstruct-copy-destruct"></a><code class="computeroutput">type_info</code>
|
||||
public
|
||||
construct/copy/destruct</h3>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem"><pre class="literallayout"><a name="idp5779120-bb"></a><span class="identifier">type_info</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><a name="idp5779376-bb"></a><span class="identifier">type_info</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&</span><span class="special">)</span><span class="special">;</span></pre></li>
|
||||
</ol></div>
|
||||
</div>
|
||||
<div class="refsect2">
|
||||
<a name="idp6366608"></a><h3>
|
||||
<a name="idp5780640-bb"></a><code class="computeroutput">type_info</code> public static functions</h3>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> <span class="special">&</span> <a name="idp5781136-bb"></a><span class="identifier">construct</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code> instance for type T. Strips const, volatile and & modifiers from T.</p>
|
||||
<p>Works exactly like boost::type_id(). </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> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">boost::type_info</a> <span class="special">&</span> <a name="idp5784848-bb"></a><span class="identifier">construct_with_cvr</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p>Factory method for constructing <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code> instance for type T. Does not strip const, volatile, & and && modifiers from T. If T has no const, volatile, & and && modifiers, then returns exactly the same result as in case of calling <code class="computeroutput">construct<T>()</code>.</p>
|
||||
<p>Works exactly like boost::type_id_with_cvr(). </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> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> <a name="idp5789072-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="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p>Factory function, that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code>. This method available only with RTTI enabled.</p>
|
||||
<p>Same as boost::type_id_rtti_only(). </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> <span class="keyword">const</span> <a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> <a name="idp5793424-bb"></a><span class="identifier">construct_rtti_only</span><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span> rtti_val<span class="special">)</span><span class="special">;</span></pre>
|
||||
<p>Factory function, that works exactly like C++ typeid(rtti_val) call, but returns <code class="computeroutput"><a class="link" href="type_info.html" title="Class type_info">boost::type_info</a></code>. This method available only with RTTI enabled.</p>
|
||||
<p>Same as boost::type_id_rtti_only(). </p>
|
||||
</li>
|
||||
</ol></div>
|
||||
</div>
|
||||
<div class="refsect2">
|
||||
<a name="idp6417840"></a><h3>
|
||||
<a name="idp5797664-bb"></a><code class="computeroutput">type_info</code> public member functions</h3>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idp5798160-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Returns mangled type name. </li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idp5799408-bb"></a><span class="identifier">name_demangled</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>Returns user-friendly name. </li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5800656-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5802528-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5804400-bb"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp5806016-bb"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">bool</span> <a name="idp5807632-bb"></a><span class="identifier">before</span><span class="special">(</span><a class="link" href="type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p>Returns true if the type precedes the type of rhs in the collation order. The collation order is just an internal order. Works exactly like operator < </p>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">bool</span> <a name="idp5810048-bb"></a><span class="identifier">before</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p>Returns true if the type precedes the type of rhs in the collation order. The collation order is just an internal order. Works exactly like operator < </p>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp5812208-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>Function for getting hash value. </li>
|
||||
</ol></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../BOOST_TYPE_INDEX_CTTI_END_SKIP.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
105
boost/typeind/ctti_type_index.html
Normal file
105
boost/typeind/ctti_type_index.html
Normal file
@ -0,0 +1,105 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Class ctti_type_index</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="../../boost_typeindex_header_reference.html#header.boost.type_index.ctti_type_index_hpp" title="Header <boost/type_index/ctti_type_index.hpp>">
|
||||
<link rel="prev" href="../../BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS.html" title="Macro BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS">
|
||||
<link rel="next" href="../../BOOST_TYPE_INDEX_REGISTER_STL_CLASS.html" title="Macro BOOST_TYPE_INDEX_REGISTER_STL_CLASS">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../../BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index.ctti_type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../BOOST_TYPE_INDEX_REGISTER_STL_CLASS.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.typeind.ctti_type_index"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Class ctti_type_index</span></h2>
|
||||
<p>boost::typeind::ctti_type_index</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../boost_typeindex_header_reference.html#header.boost.type_index.ctti_type_index_hpp" title="Header <boost/type_index/ctti_type_index.hpp>">boost/type_index/ctti_type_index.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="keyword">class</span> <a class="link" href="ctti_type_index.html" title="Class ctti_type_index">ctti_type_index</a> <span class="special">{</span>
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="comment">// types</span>
|
||||
<span class="keyword">typedef</span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.typeind.ctti_type_index.type_info_t"></a><span class="identifier">type_info_t</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="ctti_type_index.html#boost.typeind.ctti_type_indexconstruct-copy-destruct">construct/copy/destruct</a></span>
|
||||
<a class="link" href="ctti_type_index.html#idp6431520-bb"><span class="identifier">ctti_type_index</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<a class="link" href="ctti_type_index.html#idp6432016-bb"><span class="identifier">ctti_type_index</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">type_info_t</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="ctti_type_index.html#idp6426928-bb">public member functions</a></span>
|
||||
<span class="keyword">const</span> <span class="identifier">type_info_t</span> <span class="special">&</span> <a class="link" href="ctti_type_index.html#idp6427424-bb"><span class="identifier">type_info</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="ctti_type_index.html#idp6428416-bb"><span class="identifier">raw_name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="ctti_type_index.html#idp6429408-bb"><span class="identifier">pretty_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">size_t</span> <a class="link" href="ctti_type_index.html#idp6430400-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="ctti_type_index.html#idp6433136-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="ctti_type_index.html" title="Class ctti_type_index">ctti_type_index</a> <a class="link" href="ctti_type_index.html#idp6433632-bb"><span class="identifier">type_id</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="ctti_type_index.html" title="Class ctti_type_index">ctti_type_index</a> <a class="link" href="ctti_type_index.html#idp6435744-bb"><span class="identifier">type_id_with_cvr</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span>
|
||||
<span class="keyword">static</span> <a class="link" href="ctti_type_index.html" title="Class ctti_type_index">ctti_type_index</a> <a class="link" href="ctti_type_index.html#idp6437856-bb"><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">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="special">}</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp62397584"></a><h2>Description</h2>
|
||||
<p>This class is a wrapper that pretends to work exactly like <a class="link" href="stl_type_index.html" title="Class stl_type_index">stl_type_index</a>, but does not require RTTI support. For description of functions see <a class="link" href="type_index_facade.html" title="Class template type_index_facade">type_index_facade</a>.</p>
|
||||
<p>This class produces slightly longer type names, so consider using <a class="link" href="stl_type_index.html" title="Class stl_type_index">stl_type_index</a> in situations when typeid() is working. </p>
|
||||
<div class="refsect2">
|
||||
<a name="idp62400592"></a><h3>
|
||||
<a name="boost.typeind.ctti_type_indexconstruct-copy-destruct"></a><code class="computeroutput">ctti_type_index</code>
|
||||
public
|
||||
construct/copy/destruct</h3>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem"><pre class="literallayout"><a name="idp6431520-bb"></a><span class="identifier">ctti_type_index</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><a name="idp6432016-bb"></a><span class="identifier">ctti_type_index</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">type_info_t</span> <span class="special">&</span> data<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
</ol></div>
|
||||
</div>
|
||||
<div class="refsect2">
|
||||
<a name="idp62412000"></a><h3>
|
||||
<a name="idp6426928-bb"></a><code class="computeroutput">ctti_type_index</code> public member functions</h3>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">const</span> <span class="identifier">type_info_t</span> <span class="special">&</span> <a name="idp6427424-bb"></a><span class="identifier">type_info</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idp6428416-bb"></a><span class="identifier">raw_name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idp6429408-bb"></a><span class="identifier">pretty_name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp6430400-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
</ol></div>
|
||||
</div>
|
||||
<div class="refsect2">
|
||||
<a name="idp62438064"></a><h3>
|
||||
<a name="idp6433136-bb"></a><code class="computeroutput">ctti_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="ctti_type_index.html" title="Class ctti_type_index">ctti_type_index</a> <a name="idp6433632-bb"></a><span class="identifier">type_id</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></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="ctti_type_index.html" title="Class ctti_type_index">ctti_type_index</a> <a name="idp6435744-bb"></a><span class="identifier">type_id_with_cvr</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></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="ctti_type_index.html" title="Class ctti_type_index">ctti_type_index</a> <a name="idp6437856-bb"></a><span class="identifier">type_id_runtime</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&</span> variable<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
</ol></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../../BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index.ctti_type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../BOOST_TYPE_INDEX_REGISTER_STL_CLASS.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
113
boost/typeind/stl_type_index.html
Normal file
113
boost/typeind/stl_type_index.html
Normal file
@ -0,0 +1,113 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Class stl_type_index</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="../../boost_typeindex_header_reference.html#header.boost.type_index.stl_type_index_hpp" title="Header <boost/type_index/stl_type_index.hpp>">
|
||||
<link rel="prev" href="../../BOOST_TYPE_INDEX_REGISTER_STL_CLASS.html" title="Macro BOOST_TYPE_INDEX_REGISTER_STL_CLASS">
|
||||
<link rel="next" href="type_index_facade.html" title="Class template type_index_facade">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../../BOOST_TYPE_INDEX_REGISTER_STL_CLASS.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index.stl_type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_index_facade.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.typeind.stl_type_index"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Class stl_type_index</span></h2>
|
||||
<p>boost::typeind::stl_type_index</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<a class="link" href="../../boost_typeindex_header_reference.html#header.boost.type_index.stl_type_index_hpp" title="Header <boost/type_index/stl_type_index.hpp>">boost/type_index/stl_type_index.hpp</a>>
|
||||
|
||||
</span>
|
||||
<span class="keyword">class</span> <a class="link" href="stl_type_index.html" title="Class stl_type_index">stl_type_index</a> <span class="special">:</span>
|
||||
<span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">type_index_facade</span><span class="special"><</span> <span class="identifier">stl_type_index</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="comment">// types</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <a name="boost.typeind.stl_type_index.type_info_t"></a><span class="identifier">type_info_t</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="stl_type_index.html#boost.typeind.stl_type_indexconstruct-copy-destruct">construct/copy/destruct</a></span>
|
||||
<a class="link" href="stl_type_index.html#idp6465184-bb"><span class="identifier">stl_type_index</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<a class="link" href="stl_type_index.html#idp6465680-bb"><span class="identifier">stl_type_index</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">type_info_t</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="stl_type_index.html#idp6455600-bb">public member functions</a></span>
|
||||
<span class="keyword">const</span> <span class="identifier">type_info_t</span> <span class="special">&</span> <a class="link" href="stl_type_index.html#idp6456096-bb"><span class="identifier">type_info</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="stl_type_index.html#idp6457088-bb"><span class="identifier">raw_name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="stl_type_index.html#idp6458080-bb"><span class="identifier">name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="stl_type_index.html#idp6459072-bb"><span class="identifier">pretty_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">size_t</span> <a class="link" href="stl_type_index.html#idp6460064-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="stl_type_index.html#idp6461056-bb"><span class="identifier">equal</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="stl_type_index.html" title="Class stl_type_index">stl_type_index</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="stl_type_index.html#idp6463056-bb"><span class="identifier">before</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="stl_type_index.html" title="Class stl_type_index">stl_type_index</a> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="stl_type_index.html#idp6466800-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="stl_type_index.html" title="Class stl_type_index">stl_type_index</a> <a class="link" href="stl_type_index.html#idp6467296-bb"><span class="identifier">type_id</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <a class="link" href="stl_type_index.html" title="Class stl_type_index">stl_type_index</a> <a class="link" href="stl_type_index.html#idp6469408-bb"><span class="identifier">type_id_with_cvr</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span>
|
||||
<span class="keyword">static</span> <a class="link" href="stl_type_index.html" title="Class stl_type_index">stl_type_index</a> <a class="link" href="stl_type_index.html#idp6471520-bb"><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">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="special">}</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp62575184"></a><h2>Description</h2>
|
||||
<p>This class is a wrapper around std::type_info, that workarounds issues and provides much more rich interface. For description of functions see <a class="link" href="type_index_facade.html" title="Class template type_index_facade">type_index_facade</a>.</p>
|
||||
<p>This class requires typeid() to work. For cases when RTTI is disabled see <a class="link" href="ctti_type_index.html" title="Class ctti_type_index">ctti_type_index</a>. </p>
|
||||
<div class="refsect2">
|
||||
<a name="idp62577488"></a><h3>
|
||||
<a name="boost.typeind.stl_type_indexconstruct-copy-destruct"></a><code class="computeroutput">stl_type_index</code>
|
||||
public
|
||||
construct/copy/destruct</h3>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem"><pre class="literallayout"><a name="idp6465184-bb"></a><span class="identifier">stl_type_index</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><a name="idp6465680-bb"></a><span class="identifier">stl_type_index</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">type_info_t</span> <span class="special">&</span> data<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
</ol></div>
|
||||
</div>
|
||||
<div class="refsect2">
|
||||
<a name="idp62588896"></a><h3>
|
||||
<a name="idp6455600-bb"></a><code class="computeroutput">stl_type_index</code> public member functions</h3>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">const</span> <span class="identifier">type_info_t</span> <span class="special">&</span> <a name="idp6456096-bb"></a><span class="identifier">type_info</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idp6457088-bb"></a><span class="identifier">raw_name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idp6458080-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idp6459072-bb"></a><span class="identifier">pretty_name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp6460064-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp6461056-bb"></a><span class="identifier">equal</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="stl_type_index.html" title="Class stl_type_index">stl_type_index</a> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
<li class="listitem"><pre class="literallayout"><span class="keyword">bool</span> <a name="idp6463056-bb"></a><span class="identifier">before</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="stl_type_index.html" title="Class stl_type_index">stl_type_index</a> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
</ol></div>
|
||||
</div>
|
||||
<div class="refsect2">
|
||||
<a name="idp62636672"></a><h3>
|
||||
<a name="idp6466800-bb"></a><code class="computeroutput">stl_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="stl_type_index.html" title="Class stl_type_index">stl_type_index</a> <a name="idp6467296-bb"></a><span class="identifier">type_id</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></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="stl_type_index.html" title="Class stl_type_index">stl_type_index</a> <a name="idp6469408-bb"></a><span class="identifier">type_id_with_cvr</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></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="stl_type_index.html" title="Class stl_type_index">stl_type_index</a> <a name="idp6471520-bb"></a><span class="identifier">type_id_runtime</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&</span> value<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre></li>
|
||||
</ol></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../../BOOST_TYPE_INDEX_REGISTER_STL_CLASS.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index.stl_type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_index_facade.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
85
boost/typeind/type_id.html
Normal file
85
boost/typeind/type_id.html
Normal file
@ -0,0 +1,85 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Function template type_id</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeIndex 3.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_info.html" title="Type definition type_info">
|
||||
<link rel="next" href="type_id_with_cvr.html" title="Function template type_id_with_cvr">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.typeind.type_id"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Function template type_id</span></h2>
|
||||
<p>boost::typeind::type_id</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<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> <span class="identifier">type_index</span> <span class="identifier">type_id</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp62203488"></a><h2>Description</h2>
|
||||
<p>Function to get boost::type_index for a type T. Removes const, volatile && and & modifiers from T.</p>
|
||||
<p><span class="bold"><strong>Example:</strong></span> </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="keyword">int</span><span class="special">&</span><span class="special">></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">cout</span> <span class="special"><<</span> <span class="identifier">ti</span><span class="special">.</span><span class="identifier">pretty_name</span><span class="special">(</span><span class="special">)</span><span class="special">;</span> <span class="comment">// Outputs 'int'</span>
|
||||
</pre>
|
||||
<p>
|
||||
|
||||
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><p><span class="term">Template Parameters:</span></p></td>
|
||||
<td><div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term"><code class="computeroutput">T</code></span></p></td>
|
||||
<td><p>Type for which type_index must be created. </p></td>
|
||||
</tr></tbody>
|
||||
</table></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>boost::typeind::type_index with information about the specified type T. </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term">Throws:</span></p></td>
|
||||
<td>Nothing. </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
92
boost/typeind/type_id_runtime.html
Normal file
92
boost/typeind/type_id_runtime.html
Normal file
@ -0,0 +1,92 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Function template type_id_runtime</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeIndex 3.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_with_cvr.html" title="Function template type_id_with_cvr">
|
||||
<link rel="next" href="../../BOOST_TYPE_INDEX_USER_TYPEINDEX.html" title="Macro BOOST_TYPE_INDEX_USER_TYPEINDEX">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../BOOST_TYPE_INDEX_USER_TYPEINDEX.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.typeind.type_id_runtime"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Function template type_id_runtime</span></h2>
|
||||
<p>boost::typeind::type_id_runtime</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> <span class="identifier">type_index</span> <span class="identifier">type_id_runtime</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&</span> runtime_val<span class="special">)</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp62259728"></a><h2>Description</h2>
|
||||
<p>Function that works exactly like C++ typeid(rtti_val) call, but returns boost::type_index.</p>
|
||||
<p>Retunrs runtime information about specified type.</p>
|
||||
<p><span class="bold"><strong>Requirements:</strong></span> RTTI available or Base and Derived classes must be marked with BOOST_TYPE_INDEX_REGISTER_CLASS.</p>
|
||||
<p><span class="bold"><strong>Example:</strong></span> </p>
|
||||
<pre class="programlisting"><span class="keyword">struct</span> <span class="identifier">Base</span> <span class="special">{</span> <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">Base</span><span class="special">(</span><span class="special">)</span><span class="special">{</span><span class="special">}</span> <span class="special">}</span><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">Derived</span><span class="special">:</span> <span class="keyword">public</span> <span class="identifier">Base</span> <span class="special">{</span><span class="special">}</span><span class="special">;</span>
|
||||
<span class="special">...</span>
|
||||
<span class="identifier">Derived</span> <span class="identifier">d</span><span class="special">;</span>
|
||||
<span class="identifier">Base</span><span class="special">&</span> <span class="identifier">b</span> <span class="special">=</span> <span class="identifier">d</span><span class="special">;</span>
|
||||
<span class="identifier">type_index</span> <span class="identifier">ti</span> <span class="special">=</span> <span class="identifier">type_id_runtime</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">ti</span><span class="special">.</span><span class="identifier">pretty_name</span><span class="special">(</span><span class="special">)</span><span class="special">;</span> <span class="comment">// Outputs 'Derived'</span>
|
||||
</pre>
|
||||
<p>
|
||||
|
||||
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><p><span class="term">Parameters:</span></p></td>
|
||||
<td><div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term"><code class="computeroutput">runtime_val</code></span></p></td>
|
||||
<td><p>Varaible which runtime type must be returned. </p></td>
|
||||
</tr></tbody>
|
||||
</table></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>boost::typeind::type_index with information about the specified variable. </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term">Throws:</span></p></td>
|
||||
<td>Nothing. </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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_with_cvr.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../BOOST_TYPE_INDEX_USER_TYPEINDEX.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
86
boost/typeind/type_id_with_cvr.html
Normal file
86
boost/typeind/type_id_with_cvr.html
Normal file
@ -0,0 +1,86 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Function template type_id_with_cvr</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeIndex 3.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_runtime.html" title="Function template type_id_runtime">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_runtime.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.typeind.type_id_with_cvr"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Function template type_id_with_cvr</span></h2>
|
||||
<p>boost::typeind::type_id_with_cvr</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<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> <span class="identifier">type_index</span> <span class="identifier">type_id_with_cvr</span><span class="special">(</span><span class="special">)</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp62230240"></a><h2>Description</h2>
|
||||
<p>Function for constructing boost::type_index instance for type T. Does not remove const, volatile, & and && modifiers from T.</p>
|
||||
<p>If T has no const, volatile, & and && modifiers, then returns exactly the same result as in case of calling <code class="computeroutput">type_id<T>()</code>.</p>
|
||||
<p><span class="bold"><strong>Example:</strong></span> </p>
|
||||
<pre class="programlisting"><span class="identifier">type_index</span> <span class="identifier">ti</span> <span class="special">=</span> <span class="identifier">type_id_with_cvr</span><span class="special"><</span><span class="keyword">int</span><span class="special">&</span><span class="special">></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">cout</span> <span class="special"><<</span> <span class="identifier">ti</span><span class="special">.</span><span class="identifier">pretty_name</span><span class="special">(</span><span class="special">)</span><span class="special">;</span> <span class="comment">// Outputs 'int&'</span>
|
||||
</pre>
|
||||
<p>
|
||||
|
||||
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><p><span class="term">Template Parameters:</span></p></td>
|
||||
<td><div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term"><code class="computeroutput">T</code></span></p></td>
|
||||
<td><p>Type for which type_index must be created. </p></td>
|
||||
</tr></tbody>
|
||||
</table></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>boost::typeind::type_index with information about the specified type T. </p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term">Throws:</span></p></td>
|
||||
<td>Nothing. </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 Antony Polukhin<p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
|
||||
</p>
|
||||
</div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id_runtime.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
55
boost/typeind/type_index.html
Normal file
55
boost/typeind/type_index.html
Normal file
@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Type definition type_index</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeIndex 3.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="../../boost_typeindex_header_reference.html" title="Boost.TypeIndex Header Reference">
|
||||
<link rel="next" href="type_info.html" title="Type definition type_info">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../../boost_typeindex_header_reference.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.typeind.type_index"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Type definition type_index</span></h2>
|
||||
<p>type_index</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<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">typedef</span> <span class="identifier">platform</span> <span class="identifier">specific</span> <span class="identifier">type_index</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp62183328"></a><h2>Description</h2>
|
||||
<p>Depending on a compiler flags, optimal implementation of type_index will be used as a default boost::typeind::type_index.</p>
|
||||
<p>Could be a <a class="link" href="stl_type_index.html" title="Class stl_type_index">boost::typeind::stl_type_index</a>, <a class="link" href="ctti_type_index.html" title="Class ctti_type_index">boost::typeind::ctti_type_index</a> or user defined type_index class. </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-2014 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_header_reference.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_info.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
277
boost/typeind/type_index_facade.html
Normal file
277
boost/typeind/type_index_facade.html
Normal file
@ -0,0 +1,277 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Class template type_index_facade</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="../../boost_typeindex_header_reference.html#header.boost.type_index.type_index_facade_hpp" title="Header <boost/type_index/type_index_facade.hpp>">
|
||||
<link rel="prev" href="stl_type_index.html" title="Class stl_type_index">
|
||||
<link rel="next" href="../../boost_typeindex/making_own_type_index.html" title="Making own 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="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="stl_type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index.type_index_facade_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../boost_typeindex/making_own_type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.typeind.type_index_facade"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Class template type_index_facade</span></h2>
|
||||
<p>boost::typeind::type_index_facade</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.type_index_facade_hpp" title="Header <boost/type_index/type_index_facade.hpp>">boost/type_index/type_index_facade.hpp</a>>
|
||||
|
||||
</span><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Derived<span class="special">,</span> <span class="keyword">typename</span> TypeInfo<span class="special">></span>
|
||||
<span class="keyword">class</span> <a class="link" href="type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">{</span>
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="comment">// types</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">TypeInfo</span> <a name="boost.typeind.type_index_facade.type_info_t"></a><span class="identifier">type_info_t</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="type_index_facade.html#idp6482512-bb">public member functions</a></span>
|
||||
<span class="keyword">const</span> <span class="identifier">type_info_t</span> <span class="special">&</span> <a class="link" href="type_index_facade.html#idp6483008-bb"><span class="identifier">type_info</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a class="link" href="type_index_facade.html#idp6486512-bb"><span class="identifier">raw_name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a class="link" href="type_index_facade.html#idp6490016-bb"><span class="identifier">pretty_name</span></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="type_index_facade.html#idp6492896-bb"><span class="identifier">name</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index_facade.html#idp6496400-bb"><span class="identifier">equal</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Derived</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a class="link" href="type_index_facade.html#idp6500608-bb"><span class="identifier">before</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Derived</span> <span class="special">&</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="type_index_facade.html#idp6504832-bb"><span class="identifier">hash_code</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// <a class="link" href="type_index_facade.html#idp6508544-bb">protected 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> <span class="identifier">Derived</span> <a class="link" href="type_index_facade.html#idp6509040-bb"><span class="identifier">type_id</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <span class="identifier">Derived</span> <a class="link" href="type_index_facade.html#idp6515072-bb"><span class="identifier">type_id_with_cvr</span></a><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">static</span> <span class="identifier">Derived</span> <a class="link" href="type_index_facade.html#idp6521744-bb"><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">&</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span>
|
||||
<span class="special">}</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp62842608"></a><h2>Description</h2>
|
||||
<p>This class takes care about the comparison operators, hash functions and ostream operators. Use this class as a public base class for defining new type_info-conforming classes.</p>
|
||||
<p><span class="bold"><strong>Example:</strong></span> </p>
|
||||
<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">stl_type_index</span><span class="special">:</span> <span class="keyword">public</span> <span class="identifier">type_index_facade</span><span class="special"><</span><span class="identifier">stl_type_index</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="identifier">type_info_t</span><span class="special">;</span>
|
||||
<span class="keyword">private</span><span class="special">:</span>
|
||||
<span class="keyword">const</span> <span class="identifier">type_info_t</span><span class="special">*</span> <span class="identifier">data_</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="identifier">stl_type_index</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">type_info_t</span><span class="special">&</span> <span class="identifier">data</span><span class="special">)</span> <span class="keyword">noexcept</span>
|
||||
<span class="special">:</span> <span class="identifier">data_</span><span class="special">(</span><span class="special">&</span><span class="identifier">data</span><span class="special">)</span>
|
||||
<span class="special">{</span><span class="special">}</span>
|
||||
<span class="comment">// ...</span>
|
||||
<span class="special">}</span><span class="special">;</span>
|
||||
</pre>
|
||||
<p>
|
||||
</p>
|
||||
<div class="refsect2">
|
||||
<a name="idp62874752"></a><h3>Template Parameters</h3>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">typename</span> Derived</pre>
|
||||
<p>Class derived from <code class="computeroutput"><a class="link" href="type_index_facade.html" title="Class template type_index_facade">type_index_facade</a></code>. </p>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">typename</span> TypeInfo</pre>
|
||||
<p>Class that will be used as a base type_info class. </p>
|
||||
</li>
|
||||
</ol></div>
|
||||
</div>
|
||||
<div class="refsect2">
|
||||
<a name="idp62881280"></a><h3>
|
||||
<a name="idp6482512-bb"></a><code class="computeroutput">type_index_facade</code> public member functions</h3>
|
||||
<div class="orderedlist"><ol class="orderedlist" type="1">
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">const</span> <span class="identifier">type_info_t</span> <span class="special">&</span> <a name="idp6483008-bb"></a><span class="identifier">type_info</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p><span class="bold"><strong>Override:</strong></span> This function <span class="bold"><strong>must</strong></span> be redefined in Derived class. Overrides <span class="bold"><strong>must</strong></span> not throw.
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>Const reference to underlying low level type_info_t. </p></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idp6486512-bb"></a><span class="identifier">raw_name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p><span class="bold"><strong>Override:</strong></span> This function <span class="bold"><strong>must</strong></span> be redefined in Derived class. Overrides <span class="bold"><strong>must</strong></span> not throw.
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>Pointer to unredable/raw type name. </p></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <a name="idp6490016-bb"></a><span class="identifier">pretty_name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></pre>
|
||||
<p><span class="bold"><strong>Override:</strong></span> This function <span class="bold"><strong>must</strong></span> be redefined in Derived class. Overrides may throw.
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>Human redable type name. </p></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">const</span> <span class="keyword">char</span> <span class="special">*</span> <a name="idp6492896-bb"></a><span class="identifier">name</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p><span class="bold"><strong>Override:</strong></span> This function <span class="bold"><strong>may</strong></span> be redefined in Derived class. Overrides <span class="bold"><strong>must</strong></span> not throw.
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>Name of a type. By default retuns raw_name(). </p></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">bool</span> <a name="idp6496400-bb"></a><span class="identifier">equal</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Derived</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p><span class="bold"><strong>Override:</strong></span> This function <span class="bold"><strong>may</strong></span> be redefined in Derived class. Overrides <span class="bold"><strong>must</strong></span> not throw.
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>True if two types are equal. By default compares types by raw_name(). </p></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="keyword">bool</span> <a name="idp6500608-bb"></a><span class="identifier">before</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">Derived</span> <span class="special">&</span> rhs<span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p><span class="bold"><strong>Override:</strong></span> This function <span class="bold"><strong>may</strong></span> be redefined in Derived class. Overrides <span class="bold"><strong>must</strong></span> not throw.
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>True if rhs is greater than this. By default compares types by raw_name(). </p></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<pre class="literallayout"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp6504832-bb"></a><span class="identifier">hash_code</span><span class="special">(</span><span class="special">)</span> <span class="keyword">const</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p><span class="bold"><strong>Override:</strong></span> This function <span class="bold"><strong>may</strong></span> be redefined in Derived class. Overrides <span class="bold"><strong>must</strong></span> not throw.
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>Hash code of a type. By default hashes types by raw_name(). </p></td>
|
||||
</tr></tbody>
|
||||
</table></div>
|
||||
</li>
|
||||
</ol></div>
|
||||
</div>
|
||||
<div class="refsect2">
|
||||
<a name="idp62958288"></a><h3>
|
||||
<a name="idp6508544-bb"></a><code class="computeroutput">type_index_facade</code> protected 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> <span class="identifier">Derived</span> <a name="idp6509040-bb"></a><span class="identifier">type_id</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p>This is a factory method that is used to create instances of Derived classes. boost::typeind::type_id() will call this method, if Derived has same type as boost::typeind::type_index.</p>
|
||||
<p><span class="bold"><strong>Override:</strong></span> This function <span class="bold"><strong>may</strong></span> be redefined and made public in Derived class. Overrides <span class="bold"><strong>must</strong></span> not throw. Overrides <span class="bold"><strong>must</strong></span> remove const, volatile && and & modifiers from T.
|
||||
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><p><span class="term">Template Parameters:</span></p></td>
|
||||
<td><div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term"><code class="computeroutput">T</code></span></p></td>
|
||||
<td><p>Type for which type_index must be created. </p></td>
|
||||
</tr></tbody>
|
||||
</table></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>type_index for type T. </p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</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> <span class="identifier">Derived</span> <a name="idp6515072-bb"></a><span class="identifier">type_id_with_cvr</span><span class="special">(</span><span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p>This is a factory method that is used to create instances of Derived classes. boost::typeind::type_id_with_cvr() will call this method, if Derived has same type as boost::typeind::type_index.</p>
|
||||
<p><span class="bold"><strong>Override:</strong></span> This function <span class="bold"><strong>may</strong></span> be redefined and made public in Derived class. Overrides <span class="bold"><strong>must</strong></span> not throw. Overrides <span class="bold"><strong>must</strong></span> <span class="bold"><strong>not</strong></span> remove const, volatile && and & modifiers from T.
|
||||
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><p><span class="term">Template Parameters:</span></p></td>
|
||||
<td><div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term"><code class="computeroutput">T</code></span></p></td>
|
||||
<td><p>Type for which type_index must be created. </p></td>
|
||||
</tr></tbody>
|
||||
</table></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>type_index for type T. </p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</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> <span class="identifier">Derived</span> <a name="idp6521744-bb"></a><span class="identifier">type_id_runtime</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span> <span class="special">&</span> variable<span class="special">)</span> <span class="keyword">noexcept</span><span class="special">;</span></pre>
|
||||
<p>This is a factory method that is used to create instances of Derived classes. boost::typeind::type_id_runtime(const T&) will call this method, if Derived has same type as boost::typeind::type_index.</p>
|
||||
<p><span class="bold"><strong>Override:</strong></span> This function <span class="bold"><strong>may</strong></span> be redefined and made public in Derived class.
|
||||
|
||||
</p>
|
||||
<div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><p><span class="term">Parameters:</span></p></td>
|
||||
<td><div class="variablelist"><table border="0">
|
||||
<col align="left" valign="top">
|
||||
<tbody><tr>
|
||||
<td><p><span class="term"><code class="computeroutput">variable</code></span></p></td>
|
||||
<td><p>Variable which runtime type will be stored in type_index. </p></td>
|
||||
</tr></tbody>
|
||||
</table></div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><p><span class="term">Returns:</span></p></td>
|
||||
<td><p>type_index with runtime type of variable. </p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</li>
|
||||
</ol></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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="stl_type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index.type_index_facade_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../../boost_typeindex/making_own_type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
56
boost/typeind/type_info.html
Normal file
56
boost/typeind/type_info.html
Normal file
@ -0,0 +1,56 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Type definition type_info</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../../index.html" title="Chapter 1. Boost.TypeIndex 3.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_index.html" title="Type definition type_index">
|
||||
<link rel="next" href="type_id.html" title="Function template type_id">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="refentry">
|
||||
<a name="boost.typeind.type_info"></a><div class="titlepage"></div>
|
||||
<div class="refnamediv">
|
||||
<h2><span class="refentrytitle">Type definition type_info</span></h2>
|
||||
<p>type_info</p>
|
||||
</div>
|
||||
<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
|
||||
<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: <<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">typedef</span> <span class="identifier">type_index</span><span class="special">::</span><span class="identifier">type_info_t</span> <span class="identifier">type_info</span><span class="special">;</span></pre></div>
|
||||
<div class="refsect1">
|
||||
<a name="idp62192112"></a><h2>Description</h2>
|
||||
<p>Depending on a compiler flags, optimal implementation of type_info will be used as a default boost::typeind::type_info.</p>
|
||||
<p>Could be a std::type_info, boost::typeind::detail::ctti_data or some user defined class.</p>
|
||||
<p>type_info <span class="bold"><strong>is</strong></span> <span class="bold"><strong>not</strong></span> copyable or default constructible. It is <span class="bold"><strong>not</strong></span> assignable too! </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-2014 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_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../boost_typeindex_header_reference.html#header.boost.type_index_hpp"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_id.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -4,8 +4,8 @@
|
||||
<title>Acknowledgements</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="prev" href="mixing_sources_with_rtti_on_and_.html" title="Mixing sources with RTTI on and RTTI off">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -30,20 +30,21 @@
|
||||
</p>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
Peter Dimov for writing source codes in late 2007, ideas from which were
|
||||
refined and put into this library.
|
||||
Peter Dimov for writing source codes in late 2007, that gave me an idea
|
||||
of how to emulate RTTI.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Agustín Bergé K-ballo for helping with docs and fixing a lot of typos.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Niall Douglas for generating a lot of great ideas and reviewing the sources.
|
||||
Niall Douglas for generating a lot of great ideas, reviewing the sources
|
||||
and being the review manager for the library.
|
||||
</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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>
|
||||
|
@ -4,8 +4,8 @@
|
||||
<title>Code bloat</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="prev" href="space_and_performance.html" title="Space and Performance">
|
||||
<link rel="next" href="compiler_support.html" title="Compiler support">
|
||||
</head>
|
||||
@ -27,8 +27,8 @@
|
||||
<a name="boost_typeindex.code_bloat"></a><a class="link" href="code_bloat.html" title="Code bloat">Code bloat</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
Without RTTI TypeIndex library will switch from using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span></code>
|
||||
class to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_info</span></code>. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_info</span></code>
|
||||
Without RTTI TypeIndex library will switch from using <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">stl_type_index</span></code>
|
||||
class to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">ctti_type_index</span></code>. <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">ctti_type_index</span></code>
|
||||
uses macro for getting full text representation of function name for each type
|
||||
that is passed to <code class="computeroutput"><span class="identifier">type_id</span><span class="special">()</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">type_id_with_cvr</span><span class="special">()</span></code>
|
||||
@ -50,7 +50,7 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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>
|
||||
|
@ -4,8 +4,8 @@
|
||||
<title>Compiler support</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="prev" href="code_bloat.html" title="Code bloat">
|
||||
<link rel="next" href="mixing_sources_with_rtti_on_and_.html" title="Mixing sources with RTTI on and RTTI off">
|
||||
</head>
|
||||
@ -27,7 +27,7 @@
|
||||
<a name="boost_typeindex.compiler_support"></a><a class="link" href="compiler_support.html" title="Compiler support">Compiler support</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
TypeIndex has been tested and successfully work on MSVC2010, GCC-4.5, Clang-2.9.
|
||||
TypeIndex has been tested and successfully work on MSVC2010, GCC-4.6, Clang-2.9.
|
||||
If your compiler is not in a list of tested compilers, you must correctly define
|
||||
<code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_FUNCTION_SIGNATURE</span></code>,
|
||||
<code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
|
||||
@ -77,18 +77,18 @@
|
||||
<p>
|
||||
With <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_END_SKIP</span></code>
|
||||
set to <code class="computeroutput"><span class="number">0</span></code>, <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_id</span><span class="special"><</span><span class="keyword">int</span><span class="special">>().</span><span class="identifier">name</span><span class="special">()</span></code> returns
|
||||
"const char *__cdecl boost::detail::ctti<int>::n(void)". Then
|
||||
you shall set <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
|
||||
set to <code class="computeroutput"><span class="number">0</span></code>, <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">ctti_type_index</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">int</span><span class="special">>().</span><span class="identifier">raw_name</span><span class="special">()</span></code>
|
||||
returns "const char *__cdecl boost::detail::ctti<int>::n(void)".
|
||||
Then you shall set <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</span></code>
|
||||
to <code class="computeroutput"><span class="keyword">sizeof</span><span class="special">(</span><span class="string">"const char *__cdecl boost::detail::ctti<"</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_CTTI_END_SKIP</span></code>
|
||||
to <code class="computeroutput"><span class="keyword">sizeof</span><span class="special">(</span><span class="string">">::n(void)"</span><span class="special">)</span>
|
||||
<span class="special">-</span> <span class="number">1</span></code>
|
||||
<span class="special">-</span> <span class="number">1</span></code>.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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>
|
||||
|
@ -4,9 +4,9 @@
|
||||
<title>Examples</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="prev" href="getting_started.html" title="Getting started">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="prev" href="how_it_works.html" title="How it works">
|
||||
<link rel="next" href="../boost_typeindex_header_reference.html" title="Boost.TypeIndex Header Reference">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="getting_started.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost_typeindex_header_reference.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="how_it_works.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost_typeindex_header_reference.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
@ -45,13 +45,14 @@
|
||||
The following example shows how short (mangled) and human readable type names
|
||||
could be obtained from a type. Works with and without RTTI.
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_info</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<span class="keyword">namespace</span> <span class="identifier">bti</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</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>
|
||||
<span class="keyword">void</span> <span class="identifier">foo</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span> <span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"\n Short name: "</span> <span class="special"><<</span> <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><span class="identifier">name</span><span class="special">();</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"\n Readable name: "</span> <span class="special"><<</span> <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><span class="identifier">name_demangled</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">"\n Short name: "</span> <span class="special"><<</span> <span class="identifier">bti</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">raw_name</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">"\n Readable name: "</span> <span class="special"><<</span> <span class="identifier">bti</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">pretty_name</span><span class="special">();</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">struct</span> <span class="identifier">user_defined_type</span><span class="special">{};</span>
|
||||
@ -92,27 +93,29 @@
|
||||
The following example shows how an information about a type could be stored.
|
||||
Example works with and without RTTI.
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">unordered_set</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">hash</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">cassert</span><span class="special">></span>
|
||||
<span class="keyword">namespace</span> <span class="identifier">bti</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_set</span><span class="special"><</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span><span class="special">></span> <span class="identifier">types</span><span class="special">;</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">unordered_set</span><span class="special"><</span><span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_index</span><span class="special">></span> <span class="identifier">types</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// Storing some `boost::type_info`s</span>
|
||||
<span class="identifier">types</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">int</span><span class="special">>());</span>
|
||||
<span class="identifier">types</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">float</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">bti</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">int</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">bti</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">float</span><span class="special">>());</span>
|
||||
|
||||
<span class="comment">// `types` variable contains two `boost::type_index`es:</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">types</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span> <span class="special">==</span> <span class="number">2</span><span class="special">);</span>
|
||||
|
||||
<span class="comment">// Const, volatile and reference will be striped from the type:</span>
|
||||
<span class="keyword">bool</span> <span class="identifier">is_inserted</span> <span class="special">=</span> <span class="identifier">types</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">>()).</span><span class="identifier">second</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <span class="identifier">is_inserted</span> <span class="special">=</span> <span class="identifier">types</span><span class="special">.</span><span class="identifier">insert</span><span class="special">(</span><span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">const</span> <span class="keyword">int</span><span class="special">>()).</span><span class="identifier">second</span><span class="special">;</span>
|
||||
<span class="identifier">assert</span><span class="special">(!</span><span class="identifier">is_inserted</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">types</span><span class="special">.</span><span class="identifier">erase</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">float</span><span class="special">&>())</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">types</span><span class="special">.</span><span class="identifier">erase</span><span class="special">(</span><span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">float</span><span class="special">&>())</span> <span class="special">==</span> <span class="number">1</span><span class="special">);</span>
|
||||
|
||||
<span class="comment">// We have erased the `float` type, only `int` remains</span>
|
||||
<span class="identifier">assert</span><span class="special">(*</span><span class="identifier">types</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">int</span><span class="special">>());</span>
|
||||
<span class="identifier">assert</span><span class="special">(*</span><span class="identifier">types</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">==</span> <span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">int</span><span class="special">>());</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
</div>
|
||||
@ -122,23 +125,25 @@
|
||||
through the inheritance to receive a real type name </a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
The following example shows that <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span></code>
|
||||
The following example shows that <code class="computeroutput"><span class="identifier">type_info</span></code>
|
||||
is able to store the real type, successfully getting through all the inheritances.
|
||||
</p>
|
||||
<p>
|
||||
Example works with RTTI only. Without RTTI support it won't compile, producing
|
||||
a compile-time error with message: "boost::type_id_rtti_only(T&)
|
||||
requires RTTI"
|
||||
Example works with and without RTTI."
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_info</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<span class="keyword">namespace</span> <span class="identifier">bti</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">A</span><span class="special">(){}</span> <span class="special">};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">B</span><span class="special">:</span> <span class="keyword">public</span> <span class="identifier">A</span> <span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">C</span><span class="special">:</span> <span class="keyword">public</span> <span class="identifier">B</span> <span class="special">{};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">A</span> <span class="special">{</span>
|
||||
<span class="identifier">BOOST_TYPE_INDEX_REGISTER_CLASS</span>
|
||||
<span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">A</span><span class="special">(){}</span>
|
||||
<span class="special">};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">B</span><span class="special">:</span> <span class="keyword">public</span> <span class="identifier">A</span> <span class="special">{</span> <span class="identifier">BOOST_TYPE_INDEX_REGISTER_CLASS</span> <span class="special">};</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">C</span><span class="special">:</span> <span class="keyword">public</span> <span class="identifier">B</span> <span class="special">{</span> <span class="identifier">BOOST_TYPE_INDEX_REGISTER_CLASS</span> <span class="special">};</span>
|
||||
|
||||
<span class="keyword">void</span> <span class="identifier">print_real_type</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">A</span><span class="special">&</span> <span class="identifier">a</span><span class="special">)</span> <span class="special">{</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id_rtti_only</span><span class="special">(</span><span class="identifier">a</span><span class="special">).</span><span class="identifier">name_demangled</span><span class="special">()</span> <span class="special"><<</span> <span class="char">'\n'</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="identifier">bti</span><span class="special">::</span><span class="identifier">type_id_runtime</span><span class="special">(</span><span class="identifier">a</span><span class="special">).</span><span class="identifier">pretty_name</span><span class="special">()</span> <span class="special"><<</span> <span class="char">'\n'</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> <span class="special">{</span>
|
||||
@ -155,36 +160,37 @@
|
||||
type match: storing type with const, volatile and reference </a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
The following example shows that <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code>
|
||||
(and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span></code>) is able to store the exact type,
|
||||
without stripping const, volatile and references. Example works with and
|
||||
without RTTI.
|
||||
The following example shows that <code class="computeroutput"><span class="identifier">type_index</span></code>
|
||||
(and <code class="computeroutput"><span class="identifier">type_info</span></code>) is able to
|
||||
store the exact type, without stripping const, volatile and references. Example
|
||||
works with and without RTTI.
|
||||
</p>
|
||||
<p>
|
||||
In this example we'll create a class, that stores pointer to function and
|
||||
remembers the exact type of a parameter that function accepts. When an attempt
|
||||
to call the stored function will be made, type of input parameter will be
|
||||
checked for exact match with initaily erased type of function.
|
||||
checked for exact match with initially erased type of function.
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">stdexcept</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">cassert</span><span class="special">></span>
|
||||
<span class="keyword">namespace</span> <span class="identifier">bti</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">class</span> <span class="identifier">type_erased_unary_function</span> <span class="special">{</span>
|
||||
<span class="keyword">void</span><span class="special">*</span> <span class="identifier">function_ptr_</span><span class="special">;</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span> <span class="identifier">exact_param_t_</span><span class="special">;</span>
|
||||
<span class="keyword">void</span><span class="special">*</span> <span class="identifier">function_ptr_</span><span class="special">;</span>
|
||||
<span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_index</span> <span class="identifier">exact_param_t_</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">class</span> <span class="identifier">ParamT</span><span class="special">></span>
|
||||
<span class="identifier">type_erased_unary_function</span><span class="special">(</span><span class="keyword">void</span><span class="special">(*</span><span class="identifier">ptr</span><span class="special">)(</span><span class="identifier">ParamT</span><span class="special">))</span>
|
||||
<span class="special">:</span> <span class="identifier">function_ptr_</span><span class="special">(</span><span class="keyword">reinterpret_cast</span><span class="special"><</span><span class="keyword">void</span><span class="special">*>(</span><span class="identifier">ptr</span><span class="special">))</span> <span class="comment">// ptr - is a pointer to function returning `void` and accepting parameter of type `ParamT`</span>
|
||||
<span class="special">,</span> <span class="identifier">exact_param_t_</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id_with_cvr</span><span class="special"><</span><span class="identifier">ParamT</span><span class="special">>())</span>
|
||||
<span class="special">,</span> <span class="identifier">exact_param_t_</span><span class="special">(</span><span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_id_with_cvr</span><span class="special"><</span><span class="identifier">ParamT</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">ParamT</span><span class="special">></span>
|
||||
<span class="keyword">void</span> <span class="identifier">call</span><span class="special">(</span><span class="identifier">ParamT</span> <span class="identifier">v</span><span class="special">)</span> <span class="special">{</span>
|
||||
<span class="keyword">if</span> <span class="special">(</span><span class="identifier">exact_param_t_</span> <span class="special">!=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id_with_cvr</span><span class="special"><</span><span class="identifier">ParamT</span><span class="special">>())</span> <span class="special">{</span>
|
||||
<span class="keyword">if</span> <span class="special">(</span><span class="identifier">exact_param_t_</span> <span class="special">!=</span> <span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_id_with_cvr</span><span class="special"><</span><span class="identifier">ParamT</span><span class="special">>())</span> <span class="special">{</span>
|
||||
<span class="keyword">throw</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">runtime_error</span><span class="special">(</span><span class="string">"Incorrect `ParamT`"</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
@ -212,7 +218,7 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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>
|
||||
@ -220,7 +226,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="getting_started.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost_typeindex_header_reference.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="how_it_works.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost_typeindex_header_reference.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,10 +4,10 @@
|
||||
<title>Getting started</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="prev" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="next" href="examples.html" title="Examples">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="prev" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="next" href="how_it_works.html" title="How it works">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
@ -20,43 +20,59 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="how_it_works.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typeindex.getting_started"></a><a class="link" href="getting_started.html" title="Getting started">Getting started</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="getting_started.html#boost_typeindex.getting_started.how_to_use">How to use</a></span></dt>
|
||||
<dt><span class="section"><a href="getting_started.html#boost_typeindex.getting_started.example_with_boost_any">Example
|
||||
with Boost.Any</a></span></dt>
|
||||
<dt><span class="section"><a href="getting_started.html#boost_typeindex.getting_started.example_with_boost_variant">Example
|
||||
with Boost.Variant</a></span></dt>
|
||||
</dl></div>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span></code> is a drop-in replacement for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code> is a drop-in replacement for
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">type_info</span></code> is a drop-in replacement for <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">type_index</span></code> is a drop-in replacement for
|
||||
<code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span></code>. Unlike Standard Library versions
|
||||
those classes may work without RTTI.
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code> provides the full set of comparison
|
||||
operators, hashing functions and ostream operators, so it can be used with
|
||||
any container class.
|
||||
<code class="computeroutput"><span class="identifier">type_index</span></code> provides the full
|
||||
set of comparison operators, hashing functions and ostream operators, so it
|
||||
can be used with any container class.
|
||||
</p>
|
||||
<p>
|
||||
To start using Boost.TypeIndex:
|
||||
Through all the examples, we'll assume that the following namespace alias is
|
||||
in effect:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">bti</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">;</span></pre>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typeindex.getting_started.how_to_use"></a><a class="link" href="getting_started.html#boost_typeindex.getting_started.how_to_use" title="How to use">How to use</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
To start using Boost.TypeIndex:
|
||||
</p>
|
||||
<div class="informaltable">
|
||||
<a name="boost_typeindex.getting_started.porting"></a><table class="table">
|
||||
<a name="boost_typeindex.getting_started.how_to_use.porting"></a><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Replace this:
|
||||
</p>
|
||||
</th>
|
||||
<p>
|
||||
Replace this:
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
With the following:
|
||||
</p>
|
||||
</th>
|
||||
<p>
|
||||
With the following:
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
@ -64,29 +80,21 @@
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">typeinfo</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">typeindex</span><span class="special">></span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
<td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_info</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
or
|
||||
</p>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_index</span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
<td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_index</span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
@ -95,47 +103,70 @@
|
||||
<span class="keyword">typeid</span><span class="special">(</span><span class="identifier">T</span><span class="special">).</span><span class="identifier">name</span><span class="special">()</span> <span class="comment">// not human readable</span>
|
||||
<span class="keyword">typeid</span><span class="special">(</span><span class="identifier">variable</span><span class="special">)</span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
<td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><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>
|
||||
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id_with_cvr</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span>
|
||||
<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><span class="identifier">name_demangled</span><span class="special">()</span> <span class="comment">// human readable</span>
|
||||
<span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id_rtti_only</span><span class="special">(</span><span class="identifier">variable</span><span class="special">)</span>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">bti</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">bti</span><span class="special">::</span><span class="identifier">type_id_with_cvr</span><span class="special"><</span><span class="identifier">T</span><span class="special">>()</span>
|
||||
<span class="identifier">bti</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">pretty_name</span><span class="special">()</span> <span class="comment">// human readable</span>
|
||||
<span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_id_runtime</span><span class="special">(</span><span class="identifier">variable</span><span class="special">)</span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">&</span> <span class="identifier">v1</span> <span class="special">=</span> <span class="keyword">typeid</span><span class="special">(</span><span class="keyword">int</span><span class="special">);</span> <span class="comment">// when reference to `std::type_info` is required</span>
|
||||
<span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">*</span> <span class="identifier">v2</span> <span class="special">=</span> <span class="special">&</span><span class="keyword">typeid</span><span class="special">(</span><span class="keyword">int</span><span class="special">);</span> <span class="comment">// other cases</span>
|
||||
</pre>
|
||||
</td>
|
||||
<td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">const</span> <span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">&</span> <span class="identifier">v1</span> <span class="special">=</span> <span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">int</span><span class="special">>().</span><span class="identifier">type_info</span><span class="special">();</span>
|
||||
<span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_index</span> <span class="identifier">v2</span> <span class="special">=</span> <span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="keyword">int</span><span class="special">>();</span>
|
||||
</pre>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p>
|
||||
Here is how TypeIndex could be used in <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span></code>:
|
||||
</p>
|
||||
If you are using <code class="computeroutput"><span class="identifier">type_id_runtime</span><span class="special">()</span></code> methods and RTTI is disabled, make sure
|
||||
that classes that are passed to <code class="computeroutput"><span class="identifier">type_id_runtime</span><span class="special">()</span></code> are marked with <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_REGISTER_CLASS</span></code>
|
||||
macro.
|
||||
</p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typeindex.getting_started.example_with_boost_any"></a><a class="link" href="getting_started.html#boost_typeindex.getting_started.example_with_boost_any" title="Example with Boost.Any">Example
|
||||
with Boost.Any</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
Here is how TypeIndex could be used in <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">any</span><span class="special">.</span><span class="identifier">hpp</span></code>:
|
||||
</p>
|
||||
<div class="informaltable">
|
||||
<a name="boost_typeindex.getting_started.any"></a><table class="table">
|
||||
<a name="boost_typeindex.getting_started.example_with_boost_any.any"></a><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Before
|
||||
</p>
|
||||
</th>
|
||||
<p>
|
||||
Before
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
With TypeIndex
|
||||
</p>
|
||||
</th>
|
||||
<p>
|
||||
With TypeIndex
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">typeinfo</span><span class="special">></span></pre>
|
||||
</td>
|
||||
</td>
|
||||
<td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_info</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></pre>
|
||||
</td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></pre>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
@ -145,39 +176,45 @@
|
||||
<span class="keyword">return</span> <span class="keyword">typeid</span><span class="special">(</span><span class="identifier">ValueType</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
<td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">virtual</span> <span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span> <span class="special">&</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span> <span class="identifier">BOOST_NOEXCEPT</span>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">virtual</span> <span class="keyword">const</span> <span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_info</span> <span class="special">&</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span> <span class="identifier">BOOST_NOEXCEPT</span>
|
||||
<span class="special">{</span>
|
||||
<span class="comment">// now works even with RTTI disabled</span>
|
||||
<span class="keyword">return</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">ValueType</span><span class="special">>();</span>
|
||||
<span class="keyword">return</span> <span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">ValueType</span><span class="special">>().</span><span class="identifier">type_info</span><span class="special">();</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typeindex.getting_started.example_with_boost_variant"></a><a class="link" href="getting_started.html#boost_typeindex.getting_started.example_with_boost_variant" title="Example with Boost.Variant">Example
|
||||
with Boost.Variant</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
Here is how TypeIndex could be used in <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">variant</span><span class="special">/</span><span class="identifier">variant</span><span class="special">.</span><span class="identifier">hpp</span></code>:
|
||||
</p>
|
||||
Here is how TypeIndex could be used in <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">variant</span><span class="special">/</span><span class="identifier">variant</span><span class="special">.</span><span class="identifier">hpp</span></code>:
|
||||
</p>
|
||||
<div class="informaltable">
|
||||
<a name="boost_typeindex.getting_started.variant"></a><table class="table">
|
||||
<a name="boost_typeindex.getting_started.example_with_boost_variant.variant"></a><table class="table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>
|
||||
<p>
|
||||
Before
|
||||
</p>
|
||||
</th>
|
||||
<p>
|
||||
Before
|
||||
</p>
|
||||
</th>
|
||||
<th>
|
||||
<p>
|
||||
With TypeIndex
|
||||
</p>
|
||||
</th>
|
||||
<p>
|
||||
With TypeIndex
|
||||
</p>
|
||||
</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
@ -186,11 +223,11 @@
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">typeinfo</span><span class="special">></span> <span class="comment">// for typeid, std::type_info</span>
|
||||
<span class="preprocessor">#endif</span> <span class="comment">// BOOST_NO_TYPEID</span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
<td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_info</span><span class="special">/</span><span class="identifier">type_info</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
@ -211,22 +248,22 @@
|
||||
|
||||
<span class="preprocessor">#endif</span> <span class="comment">// BOOST_NO_TYPEID</span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
<td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">class</span> <span class="identifier">reflect</span>
|
||||
<span class="special">:</span> <span class="keyword">public</span> <span class="identifier">static_visitor</span><span class="special"><</span><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">&></span>
|
||||
<span class="special">:</span> <span class="keyword">public</span> <span class="identifier">static_visitor</span><span class="special"><</span><span class="keyword">const</span> <span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">&></span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">public</span><span class="special">:</span> <span class="comment">// visitor interfaces</span>
|
||||
|
||||
<span class="keyword">template</span> <span class="special"><</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">></span>
|
||||
<span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> <span class="keyword">const</span> <span class="identifier">BOOST_NOEXCEPT</span>
|
||||
<span class="keyword">const</span> <span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">&</span> <span class="keyword">operator</span><span class="special">()(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&)</span> <span class="keyword">const</span> <span class="identifier">BOOST_NOEXCEPT</span>
|
||||
<span class="special">{</span>
|
||||
<span class="keyword">return</span> <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>
|
||||
<span class="keyword">return</span> <span class="identifier">bti</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">type_info</span><span class="special">();</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="special">};</span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
@ -238,23 +275,24 @@
|
||||
<span class="special">}</span>
|
||||
<span class="preprocessor">#endif</span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
<td>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">const</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">&</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span>
|
||||
<pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">const</span> <span class="identifier">bti</span><span class="special">::</span><span class="identifier">type_info</span><span class="special">&</span> <span class="identifier">type</span><span class="special">()</span> <span class="keyword">const</span>
|
||||
<span class="special">{</span>
|
||||
<span class="identifier">detail</span><span class="special">::</span><span class="identifier">variant</span><span class="special">::</span><span class="identifier">reflect</span> <span class="identifier">visitor</span><span class="special">;</span>
|
||||
<span class="keyword">return</span> <span class="keyword">this</span><span class="special">-></span><span class="identifier">apply_visitor</span><span class="special">(</span><span class="identifier">visitor</span><span class="special">);</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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>
|
||||
@ -262,7 +300,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="how_it_works.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
58
boost_typeindex/how_it_works.html
Normal file
58
boost_typeindex/how_it_works.html
Normal file
@ -0,0 +1,58 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>How it works</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="prev" href="getting_started.html" title="Getting started">
|
||||
<link rel="next" href="examples.html" title="Examples">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="getting_started.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typeindex.how_it_works"></a><a class="link" href="how_it_works.html" title="How it works">How it works</a>
|
||||
</h2></div></div></div>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">type_index</span></code> is just a typedef
|
||||
for <code class="computeroutput"><span class="identifier">stl_type_index</span></code> or <code class="computeroutput"><span class="identifier">ctti_type_index</span></code>.
|
||||
</p>
|
||||
<p>
|
||||
Depending on the <code class="computeroutput"><span class="keyword">typeid</span><span class="special">()</span></code>
|
||||
availability TypeIndex library will choose an optimal class for <code class="computeroutput"><span class="identifier">type_index</span></code>. In cases when at least basic
|
||||
support for <code class="computeroutput"><span class="keyword">typeid</span><span class="special">()</span></code>
|
||||
is available <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">stl_type_index</span></code> will be used.
|
||||
</p>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_REGISTER_CLASS</span></code>
|
||||
macro is a helper macro that places some virtual helper functions or expands
|
||||
to nothing.
|
||||
</p>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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="getting_started.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
285
boost_typeindex/making_own_type_index.html
Normal file
285
boost_typeindex/making_own_type_index.html
Normal file
@ -0,0 +1,285 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Making own type_index</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="prev" href="../boost/typeind/type_index_facade.html" title="Class template type_index_facade">
|
||||
<link rel="next" href="space_and_performance.html" title="Space and Performance">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
<table cellpadding="2" width="100%"><tr>
|
||||
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="http://www.boost.org/doc/libs/1_53_0/boost.png"></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/index.html">Home</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/libs/libraries.htm">Libraries</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
|
||||
<td align="center"><a href="http://www.boost.org/doc/libs/1_53_0/more/index.htm">More</a></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../boost/typeind/type_index_facade.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="space_and_performance.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typeindex.making_own_type_index"></a><a class="link" href="making_own_type_index.html" title="Making own type_index">Making own type_index</a>
|
||||
</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="making_own_type_index.html#boost_typeindex.making_own_type_index.basics">Basics</a></span></dt>
|
||||
<dt><span class="section"><a href="making_own_type_index.html#boost_typeindex.making_own_type_index.getting_type_infos_at_runtime">Getting
|
||||
type infos at runtime</a></span></dt>
|
||||
<dt><span class="section"><a href="making_own_type_index.html#boost_typeindex.making_own_type_index.using_new_type_infos_all_around_">Using
|
||||
new type infos all around the code</a></span></dt>
|
||||
</dl></div>
|
||||
<p>
|
||||
Sometimes there may be a need to create your own type info system. This may
|
||||
be usefull if you wish to store some more info about types (PODness, size of
|
||||
a type, pointers to common functions...) or if you have an idea of a more compact
|
||||
types representations.
|
||||
</p>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typeindex.making_own_type_index.basics"></a><a class="link" href="making_own_type_index.html#boost_typeindex.making_own_type_index.basics" title="Basics">Basics</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
The following example shows how a user defined type_info can be created and
|
||||
used. Example works with and without RTTI.
|
||||
</p>
|
||||
<p>
|
||||
Consider situation when user uses only those types in <code class="computeroutput"><span class="keyword">typeid</span><span class="special">()</span></code>:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">vector</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">string</span><span class="special">></span>
|
||||
|
||||
<span class="keyword">namespace</span> <span class="identifier">my_namespace</span> <span class="special">{</span>
|
||||
|
||||
<span class="keyword">class</span> <span class="identifier">my_class</span><span class="special">;</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">my_struct</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="identifier">my_class</span><span class="special">></span> <span class="identifier">my_classes</span><span class="special">;</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">my_string</span><span class="special">;</span>
|
||||
|
||||
<span class="special">}</span> <span class="comment">// namespace my_namespace</span>
|
||||
</pre>
|
||||
<p>
|
||||
In that case user may wish to save space in binary and create it's own type
|
||||
system. For that case <code class="computeroutput"><span class="identifier">detail</span><span class="special">::</span><span class="identifier">typenum</span><span class="special"><></span></code> meta function is added. Depending
|
||||
on the input type T this function will return different numeric values.
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">type_index_facade</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
|
||||
<span class="keyword">namespace</span> <span class="identifier">my_namespace</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">detail</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> <span class="keyword">struct</span> <span class="identifier">typenum</span><span class="special">;</span>
|
||||
<span class="keyword">template</span> <span class="special"><></span> <span class="keyword">struct</span> <span class="identifier">typenum</span><span class="special"><</span><span class="keyword">void</span><span class="special">>{</span> <span class="keyword">enum</span> <span class="special">{</span><span class="identifier">value</span> <span class="special">=</span> <span class="number">0</span><span class="special">};</span> <span class="special">};</span>
|
||||
<span class="keyword">template</span> <span class="special"><></span> <span class="keyword">struct</span> <span class="identifier">typenum</span><span class="special"><</span><span class="identifier">my_class</span><span class="special">>{</span> <span class="keyword">enum</span> <span class="special">{</span><span class="identifier">value</span> <span class="special">=</span> <span class="number">1</span><span class="special">};</span> <span class="special">};</span>
|
||||
<span class="keyword">template</span> <span class="special"><></span> <span class="keyword">struct</span> <span class="identifier">typenum</span><span class="special"><</span><span class="identifier">my_struct</span><span class="special">>{</span> <span class="keyword">enum</span> <span class="special">{</span><span class="identifier">value</span> <span class="special">=</span> <span class="number">2</span><span class="special">};</span> <span class="special">};</span>
|
||||
<span class="keyword">template</span> <span class="special"><></span> <span class="keyword">struct</span> <span class="identifier">typenum</span><span class="special"><</span><span class="identifier">my_classes</span><span class="special">>{</span> <span class="keyword">enum</span> <span class="special">{</span><span class="identifier">value</span> <span class="special">=</span> <span class="number">3</span><span class="special">};</span> <span class="special">};</span>
|
||||
<span class="keyword">template</span> <span class="special"><></span> <span class="keyword">struct</span> <span class="identifier">typenum</span><span class="special"><</span><span class="identifier">my_string</span><span class="special">>{</span> <span class="keyword">enum</span> <span class="special">{</span><span class="identifier">value</span> <span class="special">=</span> <span class="number">4</span><span class="special">};</span> <span class="special">};</span>
|
||||
|
||||
<span class="comment">// my_typeinfo structure is used to save type number</span>
|
||||
<span class="keyword">struct</span> <span class="identifier">my_typeinfo</span> <span class="special">{</span>
|
||||
<span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="keyword">const</span> <span class="identifier">type_</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">const</span> <span class="identifier">my_typeinfo</span> <span class="identifier">infos</span><span class="special">[</span><span class="number">5</span><span class="special">]</span> <span class="special">=</span> <span class="special">{</span>
|
||||
<span class="special">{</span><span class="string">"void"</span><span class="special">},</span> <span class="special">{</span><span class="string">"my_class"</span><span class="special">},</span> <span class="special">{</span><span class="string">"my_struct"</span><span class="special">},</span> <span class="special">{</span><span class="string">"my_classes"</span><span class="special">},</span> <span class="special">{</span><span class="string">"my_string"</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>
|
||||
<span class="keyword">inline</span> <span class="keyword">const</span> <span class="identifier">my_typeinfo</span><span class="special">&</span> <span class="identifier">my_typeinfo_construct</span><span class="special">()</span> <span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">infos</span><span class="special">[</span><span class="identifier">typenum</span><span class="special"><</span><span class="identifier">T</span><span class="special">>::</span><span class="identifier">value</span><span class="special">];</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">}}</span> <span class="comment">// my_namespace::detail</span>
|
||||
</pre>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">my_type_index</span></code> is a user created
|
||||
type_index class. If in doubt during this phase, you can always take a look
|
||||
at the <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">ctti_type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
or <code class="computeroutput"><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">stl_type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
|
||||
files. Documentation for <code class="computeroutput"><span class="identifier">type_index_facade</span></code>
|
||||
could be also useful.
|
||||
</p>
|
||||
<p>
|
||||
See implementation of <code class="computeroutput"><span class="identifier">my_type_index</span></code>:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">my_namespace</span> <span class="special">{</span>
|
||||
|
||||
<span class="keyword">class</span> <span class="identifier">my_type_index</span><span class="special">:</span> <span class="keyword">public</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">type_index_facade</span><span class="special"><</span><span class="identifier">my_type_index</span><span class="special">,</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">my_typeinfo</span><span class="special">></span> <span class="special">{</span>
|
||||
<span class="keyword">const</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">my_typeinfo</span><span class="special">*</span> <span class="identifier">data_</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">my_typeinfo</span> <span class="identifier">type_info_t</span><span class="special">;</span>
|
||||
|
||||
<span class="keyword">inline</span> <span class="identifier">my_type_index</span><span class="special">()</span> <span class="identifier">BOOST_NOEXCEPT</span>
|
||||
<span class="special">:</span> <span class="identifier">data_</span><span class="special">(&</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">my_typeinfo_construct</span><span class="special"><</span><span class="keyword">void</span><span class="special">>())</span>
|
||||
<span class="special">{}</span>
|
||||
|
||||
<span class="keyword">inline</span> <span class="identifier">my_type_index</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">type_info_t</span><span class="special">&</span> <span class="identifier">data</span><span class="special">)</span> <span class="identifier">BOOST_NOEXCEPT</span>
|
||||
<span class="special">:</span> <span class="identifier">data_</span><span class="special">(&</span><span class="identifier">data</span><span class="special">)</span>
|
||||
<span class="special">{}</span>
|
||||
|
||||
<span class="keyword">inline</span> <span class="keyword">const</span> <span class="identifier">type_info_t</span><span class="special">&</span> <span class="identifier">type_info</span><span class="special">()</span> <span class="keyword">const</span> <span class="identifier">BOOST_NOEXCEPT</span> <span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="special">*</span><span class="identifier">data_</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">inline</span> <span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">raw_name</span><span class="special">()</span> <span class="keyword">const</span> <span class="identifier">BOOST_NOEXCEPT</span> <span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">data_</span><span class="special">-></span><span class="identifier">type_</span><span class="special">;</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="keyword">inline</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">pretty_name</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">data_</span><span class="special">-></span><span class="identifier">type_</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>
|
||||
<span class="keyword">inline</span> <span class="keyword">static</span> <span class="identifier">my_type_index</span> <span class="identifier">type_id</span><span class="special">()</span> <span class="identifier">BOOST_NOEXCEPT</span> <span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">my_typeinfo_construct</span><span class="special"><</span><span class="identifier">T</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>
|
||||
<span class="keyword">inline</span> <span class="keyword">static</span> <span class="identifier">my_type_index</span> <span class="identifier">type_id_with_cvr</span><span class="special">()</span> <span class="identifier">BOOST_NOEXCEPT</span> <span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">detail</span><span class="special">::</span><span class="identifier">my_typeinfo_construct</span><span class="special"><</span><span class="identifier">T</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>
|
||||
<span class="keyword">inline</span> <span class="keyword">static</span> <span class="identifier">my_type_index</span> <span class="identifier">type_id_runtime</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">variable</span><span class="special">)</span> <span class="identifier">BOOST_NOEXCEPT</span><span class="special">;</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="special">}</span> <span class="comment">// namespace my_namespace</span>
|
||||
</pre>
|
||||
<p>
|
||||
Note that we have used the boost::typeind::type_index_facade class as base.
|
||||
That class took care about all the helper function and operators (comparison,
|
||||
hashing, ostreaming and others).
|
||||
</p>
|
||||
<p>
|
||||
Finally we can use the my_type_index class for getting type indexes:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">my_type_index</span>
|
||||
<span class="identifier">cl1</span> <span class="special">=</span> <span class="identifier">my_type_index</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">my_class</span><span class="special">>(),</span>
|
||||
<span class="identifier">st1</span> <span class="special">=</span> <span class="identifier">my_type_index</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">my_struct</span><span class="special">>(),</span>
|
||||
<span class="identifier">st2</span> <span class="special">=</span> <span class="identifier">my_type_index</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">my_struct</span><span class="special">>(),</span>
|
||||
<span class="identifier">vec</span> <span class="special">=</span> <span class="identifier">my_type_index</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">my_classes</span><span class="special">>()</span>
|
||||
<span class="special">;</span>
|
||||
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">cl1</span> <span class="special">!=</span> <span class="identifier">st1</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">st2</span> <span class="special">==</span> <span class="identifier">st1</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">vec</span><span class="special">.</span><span class="identifier">pretty_name</span><span class="special">()</span> <span class="special">==</span> <span class="string">"my_classes"</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">cl1</span><span class="special">.</span><span class="identifier">pretty_name</span><span class="special">()</span> <span class="special">==</span> <span class="string">"my_class"</span><span class="special">);</span>
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typeindex.making_own_type_index.getting_type_infos_at_runtime"></a><a class="link" href="making_own_type_index.html#boost_typeindex.making_own_type_index.getting_type_infos_at_runtime" title="Getting type infos at runtime">Getting
|
||||
type infos at runtime</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
Usually to allow runtime type info we need to register class with some macro.
|
||||
Let's see how a <code class="computeroutput"><span class="identifier">MY_TYPEINDEX_REGISTER_CLASS</span></code>
|
||||
macro could be implemented for our <code class="computeroutput"><span class="identifier">my_type_index</span></code>
|
||||
class:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">my_namespace</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">detail</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>
|
||||
<span class="keyword">inline</span> <span class="keyword">const</span> <span class="identifier">my_typeinfo</span><span class="special">&</span> <span class="identifier">my_typeinfo_construct_ref</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">*)</span> <span class="special">{</span>
|
||||
<span class="keyword">return</span> <span class="identifier">my_typeinfo_construct</span><span class="special"><</span><span class="identifier">T</span><span class="special">>();</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="preprocessor">#define</span> <span class="identifier">MY_TYPEINDEX_REGISTER_CLASS</span> <span class="special">\</span>
|
||||
<span class="keyword">virtual</span> <span class="keyword">const</span> <span class="identifier">my_namespace</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">my_typeinfo</span><span class="special">&</span> <span class="identifier">type_id_runtime</span><span class="special">()</span> <span class="keyword">const</span> <span class="special">{</span> <span class="special">\</span>
|
||||
<span class="keyword">return</span> <span class="identifier">my_namespace</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">my_typeinfo_construct_ref</span><span class="special">(</span><span class="keyword">this</span><span class="special">);</span> <span class="special">\</span>
|
||||
<span class="special">}</span>
|
||||
|
||||
<span class="special">}}</span> <span class="comment">// namespace my_namespace::detail</span>
|
||||
</pre>
|
||||
<p>
|
||||
Now when we have a MY_TYPEINDEX_REGISTER_CLASS, let's implement a <code class="computeroutput"><span class="identifier">my_type_index</span><span class="special">::</span><span class="identifier">type_id_runtime</span></code> method:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">my_namespace</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>
|
||||
<span class="identifier">my_type_index</span> <span class="identifier">my_type_index</span><span class="special">::</span><span class="identifier">type_id_runtime</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&</span> <span class="identifier">variable</span><span class="special">)</span> <span class="identifier">BOOST_NOEXCEPT</span> <span class="special">{</span>
|
||||
<span class="comment">// Classes that were marked with `MY_TYPEINDEX_REGISTER_CLASS` will have a</span>
|
||||
<span class="comment">// `type_id_runtime()` method.</span>
|
||||
<span class="keyword">return</span> <span class="identifier">variable</span><span class="special">.</span><span class="identifier">type_id_runtime</span><span class="special">();</span>
|
||||
<span class="special">}</span>
|
||||
<span class="special">}</span>
|
||||
</pre>
|
||||
<p>
|
||||
Consider the situation, when <code class="computeroutput"><span class="identifier">my_class</span></code>
|
||||
and <code class="computeroutput"><span class="identifier">my_struct</span></code> are polymorphic
|
||||
classes:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">my_namespace</span> <span class="special">{</span>
|
||||
|
||||
<span class="keyword">class</span> <span class="identifier">my_class</span> <span class="special">{</span>
|
||||
<span class="keyword">public</span><span class="special">:</span>
|
||||
<span class="identifier">MY_TYPEINDEX_REGISTER_CLASS</span>
|
||||
<span class="keyword">virtual</span> <span class="special">~</span><span class="identifier">my_class</span><span class="special">()</span> <span class="special">{}</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="keyword">struct</span> <span class="identifier">my_struct</span><span class="special">:</span> <span class="keyword">public</span> <span class="identifier">my_class</span> <span class="special">{</span>
|
||||
<span class="identifier">MY_TYPEINDEX_REGISTER_CLASS</span>
|
||||
<span class="special">};</span>
|
||||
|
||||
<span class="special">}</span> <span class="comment">// namespace my_namespace</span>
|
||||
</pre>
|
||||
<p>
|
||||
Now the following example will compile and work.
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">my_struct</span> <span class="identifier">str</span><span class="special">;</span>
|
||||
<span class="identifier">my_class</span><span class="special">&</span> <span class="identifier">reference</span> <span class="special">=</span> <span class="identifier">str</span><span class="special">;</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">my_type_index</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">my_struct</span><span class="special">>()</span> <span class="special">==</span> <span class="identifier">my_type_index</span><span class="special">::</span><span class="identifier">type_id_runtime</span><span class="special">(</span><span class="identifier">reference</span><span class="special">));</span>
|
||||
</pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="boost_typeindex.making_own_type_index.using_new_type_infos_all_around_"></a><a class="link" href="making_own_type_index.html#boost_typeindex.making_own_type_index.using_new_type_infos_all_around_" title="Using new type infos all around the code">Using
|
||||
new type infos all around the code</a>
|
||||
</h3></div></div></div>
|
||||
<p>
|
||||
There is an easy way to force <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">type_id</span></code>
|
||||
to use your own type_index class.
|
||||
</p>
|
||||
<p>
|
||||
All we need to do is just define <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_USER_TYPEINDEX</span></code>
|
||||
to the full path to header file of your type index class:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="comment">// BOOST_TYPE_INDEX_USER_TYPEINDEX must be defined *BEFORE* first inclusion of <boost/type_index.hpp></span>
|
||||
<span class="preprocessor">#define</span> <span class="identifier">BOOST_TYPE_INDEX_USER_TYPEINDEX</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/../</span><span class="identifier">libs</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">/</span><span class="identifier">examples</span><span class="special">/</span><span class="identifier">user_defined_typeinfo</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_index</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
|
||||
</pre>
|
||||
<p>
|
||||
You'll also need to add some typedefs and macro to your "user_defined_typeinfo.hpp"
|
||||
header file:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_TYPE_INDEX_REGISTER_CLASS</span> <span class="identifier">MY_TYPEINDEX_REGISTER_CLASS</span>
|
||||
<span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">typeind</span> <span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">my_namespace</span><span class="special">::</span><span class="identifier">my_type_index</span> <span class="identifier">type_index</span><span class="special">;</span>
|
||||
<span class="special">}}</span>
|
||||
</pre>
|
||||
<p>
|
||||
That's it! Now all TypeIndex global methods and typedefs will be using your
|
||||
class:
|
||||
</p>
|
||||
<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">type_index</span> <span class="identifier">worldwide</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">my_classes</span><span class="special">>();</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">worldwide</span><span class="special">.</span><span class="identifier">pretty_name</span><span class="special">()</span> <span class="special">==</span> <span class="string">"my_classes"</span><span class="special">);</span>
|
||||
<span class="identifier">assert</span><span class="special">(</span><span class="identifier">worldwide</span> <span class="special">==</span> <span class="identifier">my_type_index</span><span class="special">::</span><span class="identifier">type_id</span><span class="special"><</span><span class="identifier">my_classes</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 © 2012-2014 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/typeind/type_index_facade.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="space_and_performance.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -4,8 +4,8 @@
|
||||
<title>Mixing sources with RTTI on and RTTI off</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="prev" href="compiler_support.html" title="Compiler support">
|
||||
<link rel="next" href="acknowledgements.html" title="Acknowledgements">
|
||||
</head>
|
||||
@ -32,9 +32,8 @@
|
||||
is not a very good idea and may lead to a lot of surprises. However if there
|
||||
is a very strong need, TypeIndex library provides a solution for mixing sources:
|
||||
just define <code class="computeroutput"><span class="identifier">BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY</span></code>
|
||||
macro. This would lead to usage of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_index</span></code>
|
||||
instead of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span></code> class and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_info</span></code>
|
||||
instead of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_info</span></code> class.
|
||||
macro. This would lead to usage of same type_index class (<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">ctti_type_index</span></code>
|
||||
or <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">stl_type_index</span></code>) all around the project.
|
||||
</p>
|
||||
<div class="note"><table border="0" summary="Note">
|
||||
<tr>
|
||||
@ -76,12 +75,12 @@
|
||||
<tbody><tr>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">type_index</span> <span class="identifier">get_integer</span><span class="special">();</span></code>
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">stl_type_index</span> <span class="identifier">get_integer</span><span class="special">();</span></code>
|
||||
</p>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">template_index</span> <span class="identifier">get_integer</span><span class="special">();</span></code>
|
||||
<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">typeind</span><span class="special">::</span><span class="identifier">ctti_type_index</span> <span class="identifier">get_integer</span><span class="special">();</span></code>
|
||||
</p>
|
||||
</td>
|
||||
</tr></tbody>
|
||||
@ -104,7 +103,7 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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>
|
||||
|
@ -4,9 +4,9 @@
|
||||
<title>Space and Performance</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="prev" href="../BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html" title="Macro BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY">
|
||||
<link rel="home" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="../index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="prev" href="making_own_type_index.html" title="Making own type_index">
|
||||
<link rel="next" href="code_bloat.html" title="Code bloat">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -20,7 +20,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="making_own_type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
@ -28,17 +28,17 @@
|
||||
</h2></div></div></div>
|
||||
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">template_info</span></code> uses macro
|
||||
<code class="computeroutput"><span class="identifier">ctti_type_index</span></code> uses macro
|
||||
for getting full text representation of function name which could lead
|
||||
to code bloat, so prefer using <code class="computeroutput"><span class="identifier">type_info</span></code>
|
||||
type.
|
||||
to code bloat, so prefer using <code class="computeroutput"><span class="identifier">stl_type_index</span></code>
|
||||
type when possible.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
<code class="computeroutput"><span class="identifier">type_index</span></code> and <code class="computeroutput"><span class="identifier">template_index</span></code> classes hold a single
|
||||
pointer, so they are easy and fast to copy.
|
||||
<code class="computeroutput"><span class="identifier">type_index</span></code> class hold a
|
||||
single pointer, so it is easy and fast to copy.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Calls to <code class="computeroutput"><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">name</span><span class="special">()</span></code> do not require dynamic memory allocation
|
||||
Calls to <code class="computeroutput"><span class="keyword">const</span> <span class="keyword">char</span><span class="special">*</span> <span class="identifier">raw_name</span><span class="special">()</span></code> do not require dynamic memory allocation
|
||||
and usually just return a pointer to an array of chars in a read-only section
|
||||
of the binary image.
|
||||
</li>
|
||||
@ -47,7 +47,7 @@
|
||||
execute a single <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">strcmp</span></code>.
|
||||
</li>
|
||||
<li class="listitem">
|
||||
Calls to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">name_demangled</span><span class="special">()</span></code> usually require dynamic memory allocation
|
||||
Calls to <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">pretty_name</span><span class="special">()</span></code> usually require dynamic memory allocation
|
||||
and some computations, so they are not recommended for usage in performance
|
||||
critical sections.
|
||||
</li>
|
||||
@ -55,7 +55,7 @@
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"></td>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012, 2013 Antony Polukhin<p>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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>
|
||||
@ -63,7 +63,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="../BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="making_own_type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="code_bloat.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -4,10 +4,10 @@
|
||||
<title>Boost.TypeIndex Header Reference</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="up" href="index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="up" href="index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="prev" href="boost_typeindex/examples.html" title="Examples">
|
||||
<link rel="next" href="boost/type_index.html" title="Class type_index">
|
||||
<link rel="next" href="boost/typeind/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>
|
||||
@ -20,112 +20,116 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost_typeindex/examples.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="boost_typeindex/examples.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/typeind/type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
|
||||
<a name="boost_typeindex_header_reference"></a>Boost.TypeIndex Header Reference</h2></div></div></div>
|
||||
<div class="toc"><dl>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index_hpp">Header <boost/type_index.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_hpp">Header <boost/type_index/type_index.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.template_index_hpp">Header <boost/type_index/template_index.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp">Header <boost/type_index/template_info.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp">Header <boost/type_index/type_info.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.ctti_register_class_hpp">Header <boost/type_index/ctti_register_class.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.ctti_type_index_hpp">Header <boost/type_index/ctti_type_index.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.stl_register_class_hpp">Header <boost/type_index/stl_register_class.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.stl_type_index_hpp">Header <boost/type_index/stl_type_index.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_facade_hpp">Header <boost/type_index/type_index_facade.hpp></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 <<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index.hpp" target="_top">boost/type_index.hpp</a>></h3></div></div></div>
|
||||
<p>Includes all the headers of the Boost.TypeIndex library. </p>
|
||||
<p>By inclusion of this file all classes (<a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> + <a class="link" href="boost/type_index.html" title="Class type_index">boost::type_index</a> if RTTI is on and <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a> + boost::template_index) will be available.</p>
|
||||
<p>Consider including <boost/type_index/type_index.hpp> if you do not want to include <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a> and boost::template_index class while RTTI is available.</p>
|
||||
<p>Consider including <boost/type_index/type_info.hpp> if you need only <a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> class and boost::type_id* functions. </p>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="header.boost.type_index.type_index_hpp"></a>Header <<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/type_index.hpp" target="_top">boost/type_index/type_index.hpp</a>></h3></div></div></div>
|
||||
<p>Contains implementation of <a class="link" href="boost/type_index.html" title="Class type_index">boost::type_index</a> class. </p>
|
||||
<p><a class="link" href="boost/type_index.html" title="Class type_index">boost::type_index</a> class is used in situations when RTTI is enabled, it is designed to be a drop-in replacement for C++11 std::type_index class.</p>
|
||||
<p>When RTTI is disabled boost::template_index will be usually (some compilers allow calling typeid(T) even if RTTI is disabled) used instead of this class. </p>
|
||||
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
|
||||
<span class="keyword">class</span> <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a name="boost.operator==_idp5686896"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</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!=_idp5689152"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</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_idp5691408"></a><span class="keyword">operator</span><span class="special"><</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</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_idp5693664"></a><span class="keyword">operator</span><span class="special">></span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</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_=_idp5695920"></a><span class="keyword">operator</span><span class="special"><=</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</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_=_idp5698176"></a><span class="keyword">operator</span><span class="special">>=</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</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="comment">// Ostream operator that will output demangled name. </span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> TriatT<span class="special">></span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">></span> <span class="special">&</span>
|
||||
<a name="boost.operator_idp5700432"></a><span class="keyword">operator</span><span class="special"><<</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">></span> <span class="special">&</span> ostr<span class="special">,</span>
|
||||
<a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span> ind<span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// hash_value function overload for <a class="link" href="boost/type_index.html" title="Class type_index">type_index</a>. </span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.hash_value_idp5704192"></a><span class="identifier">hash_value</span><span class="special">(</span><a class="link" href="boost/type_index.html" title="Class type_index">type_index</a> <span class="keyword">const</span> <span class="special">&</span> v<span class="special">)</span><span class="special">;</span>
|
||||
<span class="special">}</span></pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="header.boost.type_index.template_index_hpp"></a>Header <<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/template_index.hpp" target="_top">boost/type_index/template_index.hpp</a>></h3></div></div></div>
|
||||
<p>Contains implementation of boost::template_index class. </p>
|
||||
<p>boost::template_index is just a typedef of <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a>, that combines functionality of <a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> and <a class="link" href="boost/type_index.html" title="Class type_index">boost::type_index</a> but can work with RTTI disabled. </p>
|
||||
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <a class="link" href="boost/template_info.html" title="Class template_info">template_info</a> <a class="link" href="boost/template_index.html" title="Type definition template_index"><span class="identifier">template_index</span></a><span class="special">;</span>
|
||||
<span class="special">}</span></pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="header.boost.type_index.template_info_hpp"></a>Header <<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/template_info.hpp" target="_top">boost/type_index/template_info.hpp</a>></h3></div></div></div>
|
||||
<p>Contains implementation of <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a> class. </p>
|
||||
<p><a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a> class is used instead of <a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> and <a class="link" href="boost/type_index.html" title="Class type_index">boost::type_index</a> classes in situations when RTTI is disabled.</p>
|
||||
<p>It combines functionality of std::type_info and std::type_index. </p>
|
||||
<pre class="synopsis">
|
||||
|
||||
<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_BEGIN_SKIP.html" title="Macro BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP">BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP</a>
|
||||
<a class="link" href="BOOST_TYPE_INDEX_CTTI_END_SKIP.html" title="Macro BOOST_TYPE_INDEX_CTTI_END_SKIP">BOOST_TYPE_INDEX_CTTI_END_SKIP</a></pre>
|
||||
<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
|
||||
<span class="keyword">class</span> <a class="link" href="boost/template_info.html" title="Class template_info">template_info</a><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">const</span> <a class="link" href="boost/template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> <a class="link" href="boost/template_id.html" title="Function template template_id"><span class="identifier">template_id</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">const</span> <a class="link" href="boost/template_info.html" title="Class template_info">template_info</a> <span class="special">&</span> <a class="link" href="boost/template_id_with_cvr.html" title="Function template template_id_with_cvr"><span class="identifier">template_id_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// Ostream operator that will output demangled name. </span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> CharT<span class="special">,</span> <span class="keyword">typename</span> TriatT<span class="special">></span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">></span> <span class="special">&</span>
|
||||
<a name="boost.operator_idp5754160"></a><span class="keyword">operator</span><span class="special"><<</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">></span> <span class="special">&</span> ostr<span class="special">,</span>
|
||||
<a class="link" href="boost/template_info.html" title="Class template_info">template_info</a> <span class="keyword">const</span> <span class="special">&</span> ind<span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// hash_value function overload for <a class="link" href="boost/template_info.html" title="Class template_info">template_info</a></span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.hash_value_idp5757920"></a><span class="identifier">hash_value</span><span class="special">(</span><a class="link" href="boost/template_info.html" title="Class template_info">template_info</a> <span class="keyword">const</span> <span class="special">&</span> v<span class="special">)</span><span class="special">;</span>
|
||||
<span class="special">}</span></pre>
|
||||
</div>
|
||||
<div class="section">
|
||||
<div class="titlepage"><div><div><h3 class="title">
|
||||
<a name="header.boost.type_index.type_info_hpp"></a>Header <<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/type_info.hpp" target="_top">boost/type_index/type_info.hpp</a>></h3></div></div></div>
|
||||
<p>Contains implementation of <a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> class. </p>
|
||||
<p><a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> class can be used as a drop-in replacement for std::type_info, but unlike std::type_info this class has a name_demangled() function for getting human-readable type names.</p>
|
||||
<p><a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> class is used in situations when RTTI is enabled. When RTTI is disabled or BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY macro is defined <a class="link" href="boost/template_info.html" title="Class template_info">boost::template_info</a> is usually used instead of it (some compilers allow calling typeid(T) even if RTTI is disabled, those copilers will continue to use <a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a> class). </p>
|
||||
<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::typeind::type_index and boost::typeind::type_info. </p>
|
||||
<pre class="synopsis">
|
||||
|
||||
<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_REGISTER_CLASS.html" title="Macro BOOST_TYPE_INDEX_REGISTER_CLASS">BOOST_TYPE_INDEX_REGISTER_CLASS</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">class</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">const</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> <a class="link" href="boost/type_id.html" title="Function template type_id"><span class="identifier">type_id</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">const</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> <a class="link" href="boost/type_id_with_cvr.html" title="Function template type_id_with_cvr"><span class="identifier">type_id_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">const</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> <a class="link" href="boost/type_id_rtti_on_idp5820176.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> <span class="keyword">const</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="special">&</span> <a class="link" href="boost/type_id_rtti_on_idp5823984.html" title="Function template type_id_rtti_only"><span class="identifier">type_id_rtti_only</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">*</span><span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a name="boost.operator==_idp5827792"></a><span class="keyword">operator</span><span class="special">==</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> lhs<span class="special">,</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">bool</span> <a name="boost.operator!=_idp5830048"></a><span class="keyword">operator</span><span class="special">!=</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">type_info</span> <span class="keyword">const</span> <span class="special">&</span> lhs<span class="special">,</span> <a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">namespace</span> <span class="identifier">typeind</span> <span class="special">{</span>
|
||||
<span class="keyword">typedef</span> <span class="identifier">platform</span> <span class="identifier">specific</span> <a class="link" href="boost/typeind/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/typeind/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"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">type_index</span> <a class="link" href="boost/typeind/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> <span class="identifier">type_index</span> <a class="link" href="boost/typeind/type_id_with_cvr.html" title="Function template type_id_with_cvr"><span class="identifier">type_id_with_cvr</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">type_index</span> <a class="link" href="boost/typeind/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">&</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_register_class_hpp"></a>Header <<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/ctti_register_class.hpp" target="_top">boost/type_index/ctti_register_class.hpp</a>></h3></div></div></div>
|
||||
<p>Contains BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS macro. </p>
|
||||
<pre class="synopsis">
|
||||
|
||||
<span class="comment">// hash_value function overload for <a class="link" href="boost/type_info.html" title="Class type_info">boost::type_info</a>. </span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.hash_value_idp5832304"></a><span class="identifier">hash_value</span><span class="special">(</span><a class="link" href="boost/type_info.html" title="Class type_info">type_info</a> <span class="keyword">const</span> <span class="special">&</span> v<span class="special">)</span><span class="special">;</span>
|
||||
<a class="link" href="BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS.html" title="Macro BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS">BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS</a></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 <<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/ctti_type_index.hpp" target="_top">boost/type_index/ctti_type_index.hpp</a>></h3></div></div></div>
|
||||
<p>Contains <a class="link" href="boost/typeind/ctti_type_index.html" title="Class ctti_type_index">boost::typeind::ctti_type_index</a> class. </p>
|
||||
<p><a class="link" href="boost/typeind/ctti_type_index.html" title="Class ctti_type_index">boost::typeind::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">typeind</span> <span class="special">{</span>
|
||||
<span class="keyword">class</span> <a class="link" href="boost/typeind/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 tempalte patameter T. </span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="emphasis"><em><span class="identifier">unspecified</span></em></span> <a name="boost.typeind.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.stl_register_class_hpp"></a>Header <<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/stl_register_class.hpp" target="_top">boost/type_index/stl_register_class.hpp</a>></h3></div></div></div>
|
||||
<p>Contains BOOST_TYPE_INDEX_REGISTER_STL_CLASS macro. </p>
|
||||
<pre class="synopsis">
|
||||
|
||||
<a class="link" href="BOOST_TYPE_INDEX_REGISTER_STL_CLASS.html" title="Macro BOOST_TYPE_INDEX_REGISTER_STL_CLASS">BOOST_TYPE_INDEX_REGISTER_STL_CLASS</a></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 <<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/stl_type_index.hpp" target="_top">boost/type_index/stl_type_index.hpp</a>></h3></div></div></div>
|
||||
<p>Contains <a class="link" href="boost/typeind/stl_type_index.html" title="Class stl_type_index">boost::typeind::stl_type_index</a> class. </p>
|
||||
<p><a class="link" href="boost/typeind/stl_type_index.html" title="Class stl_type_index">boost::typeind::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::typeind::ctti is usually used instead of <a class="link" href="boost/typeind/stl_type_index.html" title="Class stl_type_index">boost::typeind::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">typeind</span> <span class="special">{</span>
|
||||
<span class="keyword">class</span> <a class="link" href="boost/typeind/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 <<a href="http://www.boost.org/doc/libs/1_53_0/boost/type_index/type_index_facade.hpp" target="_top">boost/type_index/type_index_facade.hpp</a>></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">typeind</span> <span class="special">{</span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Derived<span class="special">,</span> <span class="keyword">typename</span> TypeInfo<span class="special">></span> <span class="keyword">class</span> <a class="link" href="boost/typeind/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/typeind/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> classes. </span>
|
||||
<span class="keyword">bool</span> <a name="boost.typeind.operator_idp6527424"></a><span class="keyword">operator</span><span class="special">?</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/typeind/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">&</span> lhs<span class="special">,</span>
|
||||
<span class="keyword">const</span> <a class="link" href="boost/typeind/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// noexcept comparison operators for <a class="link" href="boost/typeind/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.typeind.operator_idp6531072"></a><span class="keyword">operator</span><span class="special">?</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/typeind/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">&</span> lhs<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">TypeInfo</span> <span class="special">&</span> rhs<span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// noexcept comparison operators for <a class="link" href="boost/typeind/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a>'s TypeInfo and <a class="link" href="boost/typeind/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> classes. </span>
|
||||
<span class="keyword">bool</span> <a name="boost.typeind.operator_idp6534336"></a><span class="keyword">operator</span><span class="special">?</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">TypeInfo</span> <span class="special">&</span> lhs<span class="special">,</span> <span class="keyword">const</span> <a class="link" href="boost/typeind/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a> <span class="special">&</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"><</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">></span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">></span> <span class="special">&</span>
|
||||
<a name="boost.typeind.operator_idp6538224"></a><span class="keyword">operator</span><span class="special"><<</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special"><</span> <span class="identifier">CharT</span><span class="special">,</span> <span class="identifier">TriatT</span> <span class="special">></span> <span class="special">&</span> ostr<span class="special">,</span>
|
||||
<span class="keyword">const</span> <a class="link" href="boost/typeind/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a><span class="special"><</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="identifier">TypeInfo</span> <span class="special">></span> <span class="special">&</span> ind<span class="special">)</span><span class="special">;</span>
|
||||
|
||||
<span class="comment">// This free function is used by Boost's unordered containers. </span>
|
||||
<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> Derived<span class="special">,</span> <span class="keyword">typename</span> TypeInfo<span class="special">></span>
|
||||
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="boost.typeind.hash_value"></a><span class="identifier">hash_value</span><span class="special">(</span><span class="keyword">const</span> <a class="link" href="boost/typeind/type_index_facade.html" title="Class template type_index_facade">type_index_facade</a><span class="special"><</span> <span class="identifier">Derived</span><span class="special">,</span> <span class="identifier">TypeInfo</span> <span class="special">></span> <span class="special">&</span> lhs<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 © 2012, 2013 Antony Polukhin<p>
|
||||
<td align="right"><div class="copyright-footer">Copyright © 2012-2014 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>
|
||||
@ -133,7 +137,7 @@
|
||||
</tr></table>
|
||||
<hr>
|
||||
<div class="spirit-nav">
|
||||
<a accesskey="p" href="boost_typeindex/examples.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
<a accesskey="p" href="boost_typeindex/examples.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost/typeind/type_index.html"><img src="http://www.boost.org/doc/libs/1_53_0/doc/src/images/next.png" alt="Next"></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
42
index.html
42
index.html
@ -1,10 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||
<title>Chapter 1. Boost.TypeIndex 2.1</title>
|
||||
<title>Chapter 1. Boost.TypeIndex 3.0</title>
|
||||
<link rel="stylesheet" href="http://www.boost.org/doc/libs/1_53_0/doc/src/boostbook.css" type="text/css">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 2.1">
|
||||
<link rel="home" href="index.html" title="Chapter 1. Boost.TypeIndex 3.0">
|
||||
<link rel="next" href="boost_typeindex/getting_started.html" title="Getting started">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -21,8 +21,8 @@
|
||||
<div class="chapter">
|
||||
<div class="titlepage"><div>
|
||||
<div><h2 class="title">
|
||||
<a name="boost_typeindex"></a>Chapter 1. Boost.TypeIndex 2.1</h2></div>
|
||||
<div><p class="copyright">Copyright © 2012, 2013 Antony Polukhin</p></div>
|
||||
<a name="boost_typeindex"></a>Chapter 1. Boost.TypeIndex 3.0</h2></div>
|
||||
<div><p class="copyright">Copyright © 2012-2014 Antony Polukhin</p></div>
|
||||
<div><div class="legalnotice">
|
||||
<a name="boost_typeindex.legal"></a><p>
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
@ -35,6 +35,14 @@
|
||||
<dl>
|
||||
<dt><span class="section"><a href="index.html#boost_typeindex.motivation">Motivation</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex/getting_started.html">Getting started</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="boost_typeindex/getting_started.html#boost_typeindex.getting_started.how_to_use">How to use</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex/getting_started.html#boost_typeindex.getting_started.example_with_boost_any">Example
|
||||
with Boost.Any</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex/getting_started.html#boost_typeindex.getting_started.example_with_boost_variant">Example
|
||||
with Boost.Variant</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="boost_typeindex/how_it_works.html">How it works</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex/examples.html">Examples</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="boost_typeindex/examples.html#boost_typeindex.examples.getting_human_readable_and_mangl">Getting
|
||||
@ -49,10 +57,19 @@
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html">Boost.TypeIndex Header Reference</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index_hpp">Header <boost/type_index.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_hpp">Header <boost/type_index/type_index.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.template_index_hpp">Header <boost/type_index/template_index.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.template_info_hpp">Header <boost/type_index/template_info.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_info_hpp">Header <boost/type_index/type_info.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.ctti_register_class_hpp">Header <boost/type_index/ctti_register_class.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.ctti_type_index_hpp">Header <boost/type_index/ctti_type_index.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.stl_register_class_hpp">Header <boost/type_index/stl_register_class.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.stl_type_index_hpp">Header <boost/type_index/stl_type_index.hpp></a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex_header_reference.html#header.boost.type_index.type_index_facade_hpp">Header <boost/type_index/type_index_facade.hpp></a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="boost_typeindex/making_own_type_index.html">Making own type_index</a></span></dt>
|
||||
<dd><dl>
|
||||
<dt><span class="section"><a href="boost_typeindex/making_own_type_index.html#boost_typeindex.making_own_type_index.basics">Basics</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex/making_own_type_index.html#boost_typeindex.making_own_type_index.getting_type_infos_at_runtime">Getting
|
||||
type infos at runtime</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex/making_own_type_index.html#boost_typeindex.making_own_type_index.using_new_type_infos_all_around_">Using
|
||||
new type infos all around the code</a></span></dt>
|
||||
</dl></dd>
|
||||
<dt><span class="section"><a href="boost_typeindex/space_and_performance.html">Space and Performance</a></span></dt>
|
||||
<dt><span class="section"><a href="boost_typeindex/code_bloat.html">Code bloat</a></span></dt>
|
||||
@ -94,6 +111,9 @@
|
||||
<li class="listitem">
|
||||
no nice and portable way to get human readable type names
|
||||
</li>
|
||||
<li class="listitem">
|
||||
no way to easily make your own type info class
|
||||
</li>
|
||||
</ul></div>
|
||||
<p>
|
||||
Boost.TypeIndex library was designed to work around all those issues.
|
||||
@ -114,15 +134,13 @@
|
||||
<th align="left">Warning</th>
|
||||
</tr>
|
||||
<tr><td align="left" valign="top"><p>
|
||||
During the Boost review was decided, that it is better to use interface close
|
||||
to v1.0 of this library. Version 3.0 will attempt to fix all the issues found
|
||||
during the review.
|
||||
Version 3.0 of this library is waitning for Boost mini-review.
|
||||
</p></td></tr>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
|
||||
<td align="left"><p><small>Last revised: January 11, 2014 at 14:36:03 GMT</small></p></td>
|
||||
<td align="left"><p><small>Last revised: March 05, 2014 at 11:15:27 GMT</small></p></td>
|
||||
<td align="right"><div class="copyright-footer"></div></td>
|
||||
</tr></table>
|
||||
<hr>
|
||||
|
@ -1,21 +1,22 @@
|
||||
index.html
|
||||
boost_typeindex/getting_started.html
|
||||
boost_typeindex/how_it_works.html
|
||||
boost_typeindex/examples.html
|
||||
boost_typeindex_header_reference.html
|
||||
boost/type_index.html
|
||||
boost/template_index.html
|
||||
boost/template_info.html
|
||||
boost/template_id.html
|
||||
boost/template_id_with_cvr.html
|
||||
BOOST_TYPE_INDEX_FUNCTION_SIGNATURE.html
|
||||
BOOST_TYPE_INDEX_CTTI_BEGIN_SKIP.html
|
||||
BOOST_TYPE_INDEX_CTTI_END_SKIP.html
|
||||
boost/type_info.html
|
||||
boost/type_id.html
|
||||
boost/type_id_with_cvr.html
|
||||
boost/type_id_rtti_on_idp5820176.html
|
||||
boost/type_id_rtti_on_idp5823984.html
|
||||
boost/typeind/type_index.html
|
||||
boost/typeind/type_info.html
|
||||
boost/typeind/type_id.html
|
||||
boost/typeind/type_id_with_cvr.html
|
||||
boost/typeind/type_id_runtime.html
|
||||
BOOST_TYPE_INDEX_USER_TYPEINDEX.html
|
||||
BOOST_TYPE_INDEX_REGISTER_CLASS.html
|
||||
BOOST_TYPE_INDEX_FORCE_NO_RTTI_COMPATIBILITY.html
|
||||
BOOST_TYPE_INDEX_REGISTER_CTTI_CLASS.html
|
||||
boost/typeind/ctti_type_index.html
|
||||
BOOST_TYPE_INDEX_REGISTER_STL_CLASS.html
|
||||
boost/typeind/stl_type_index.html
|
||||
boost/typeind/type_index_facade.html
|
||||
boost_typeindex/making_own_type_index.html
|
||||
boost_typeindex/space_and_performance.html
|
||||
boost_typeindex/code_bloat.html
|
||||
boost_typeindex/compiler_support.html
|
||||
|
Reference in New Issue
Block a user