diff options
author | Anas Nashif <anas.nashif@intel.com> | 2013-08-26 08:15:55 -0400 |
---|---|---|
committer | Anas Nashif <anas.nashif@intel.com> | 2013-08-26 08:15:55 -0400 |
commit | bb4dd8289b351fae6b55e303f189127a394a1edd (patch) | |
tree | 77c9c35a31b1459dd7988c2448e797d142530c41 /doc/html/intrusive/usage.html | |
parent | 1a78a62555be32868418fe52f8e330c9d0f95d5a (diff) | |
download | boost-bb4dd8289b351fae6b55e303f189127a394a1edd.tar.gz boost-bb4dd8289b351fae6b55e303f189127a394a1edd.tar.bz2 boost-bb4dd8289b351fae6b55e303f189127a394a1edd.zip |
Imported Upstream version 1.51.0upstream/1.51.0
Diffstat (limited to 'doc/html/intrusive/usage.html')
-rw-r--r--[-rwxr-xr-x] | doc/html/intrusive/usage.html | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/doc/html/intrusive/usage.html b/doc/html/intrusive/usage.html index 82671683f4..a2dacf291d 100755..100644 --- a/doc/html/intrusive/usage.html +++ b/doc/html/intrusive/usage.html @@ -150,9 +150,9 @@ size is activated. </li> <li class="listitem"> - <span class="bold"><strong><code class="computeroutput"><span class="identifier">size_type</span><span class="special"><</span><span class="keyword">bool</span> <span class="identifier">Enabled</span><span class="special">></span></code></strong></span>: - Specifies a type that can hold the size of the container. This type will - be the type returned by <code class="computeroutput"><span class="identifier">list</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code> and the type stored in the intrusive + <span class="bold"><strong><code class="computeroutput"><span class="identifier">size_type</span><span class="special"><</span><span class="keyword">class</span> <span class="identifier">SizeType</span><span class="special">></span></code></strong></span>: + Specifies an unsigned type that can hold the size of the container. This + type will be the type returned by <code class="computeroutput"><span class="identifier">list</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code> and the type stored in the intrusive container if <code class="computeroutput"><span class="identifier">constant_time_size</span><span class="special"><</span><span class="keyword">true</span><span class="special">></span></code> is requested. The user normally will not need to change this type, but some containers can have a <code class="computeroutput"><span class="identifier">size_type</span></code> that might be different from <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code> (for example, STL-like containers @@ -169,26 +169,31 @@ <pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">list</span><span class="special"><</span><span class="identifier">Foo</span><span class="special">></span> <span class="identifier">FooList</span><span class="special">;</span> </pre> <p> - Example of a intrusive list with non constant-time size that will store Foo - objects: + Example of an intrusive list with non constant-time size that will store + Foo objects: </p> <pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">list</span><span class="special"><</span><span class="identifier">Foo</span><span class="special">,</span> <span class="identifier">constant_time_size</span><span class="special"><</span><span class="keyword">false</span><span class="special">></span> <span class="special">></span> <span class="identifier">FooList</span><span class="special">;</span> </pre> <p> - Remember that the user must specify the base hook if the base hook has no - default tag (e.g: if more than one base hook is used): + Remember that the user must specify the base hook in the container declaration + if the base hook has no default tag, because that usually means that the + type has more than one base hook, and a container shall know which hook will + be using: </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">intrusive</span><span class="special">/</span><span class="identifier">list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">intrusive</span><span class="special">;</span> -<span class="keyword">struct</span> <span class="identifier">my_tag</span><span class="special">;</span> +<span class="keyword">struct</span> <span class="identifier">my_tag1</span><span class="special">;</span> +<span class="keyword">struct</span> <span class="identifier">my_tag2</span><span class="special">;</span> -<span class="keyword">typedef</span> <span class="identifier">list_base_hook</span><span class="special"><</span> <span class="identifier">tag</span><span class="special"><</span><span class="identifier">my_tag</span><span class="special">></span> <span class="special">></span> <span class="identifier">BaseHook</span><span class="special">;</span> -<span class="keyword">class</span> <span class="identifier">Foo</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">BaseHook</span> +<span class="keyword">typedef</span> <span class="identifier">list_base_hook</span><span class="special"><</span> <span class="identifier">tag</span><span class="special"><</span><span class="identifier">my_tag</span><span class="special">></span> <span class="special">></span> <span class="identifier">BaseHook</span><span class="special">;</span> +<span class="keyword">typedef</span> <span class="identifier">list_base_hook</span><span class="special"><</span> <span class="identifier">tag</span><span class="special"><</span><span class="identifier">my_tag2</span><span class="special">></span> <span class="special">></span> <span class="identifier">BaseHook2</span><span class="special">;</span> +<span class="keyword">class</span> <span class="identifier">Foo</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">BaseHook</span><span class="special">,</span> <span class="keyword">public</span> <span class="identifier">BaseHook2</span> <span class="special">{</span> <span class="comment">/**/</span> <span class="special">};</span> -<span class="keyword">typedef</span> <span class="identifier">list</span><span class="special"><</span> <span class="identifier">Foo</span><span class="special">,</span> <span class="identifier">base_hook</span><span class="special"><</span><span class="identifier">BaseHook</span><span class="special">></span> <span class="special">></span> <span class="identifier">FooList</span><span class="special">;</span> +<span class="keyword">typedef</span> <span class="identifier">list</span><span class="special"><</span> <span class="identifier">Foo</span><span class="special">,</span> <span class="identifier">base_hook</span><span class="special"><</span><span class="identifier">BaseHook</span><span class="special">></span> <span class="special">></span> <span class="identifier">FooList</span><span class="special">;</span> +<span class="keyword">typedef</span> <span class="identifier">list</span><span class="special"><</span> <span class="identifier">Foo</span><span class="special">,</span> <span class="identifier">base_hook</span><span class="special"><</span><span class="identifier">BaseHook2</span><span class="special">></span> <span class="special">></span> <span class="identifier">FooList2</span><span class="special">;</span> </pre> <p> Once the list is defined, we can use it: @@ -354,7 +359,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 © 2005 Olaf Krzikalla<br>Copyright © 2006-2011 Ion Gaztanaga<p> +<td align="right"><div class="copyright-footer">Copyright © 2005 Olaf Krzikalla<br>Copyright © 2006-2012 Ion Gaztanaga<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> |