Commit 13ed92d4 authored by Davis King's avatar Davis King

cleanup. Gave smart pointers their own section.

parent 3f791148
...@@ -9,30 +9,36 @@ ...@@ -9,30 +9,36 @@
<body> <body>
<br/><br/> <br/><br/>
<p> <p>
Many of these containers were inspired by the RESOLVE/C++ course sequence at Ohio State. As such, Many of these containers were inspired by the RESOLVE/C++ course
many of the objects do not support copying in any form, only swapping is allowed. That is, when objects sequence at Ohio State. As such, many of the objects do not support
are added or removed from most of these containers they are swapped in and out, not copied. copying in any form, only swapping is allowed. That is, when objects
are added or removed from most of these containers they are swapped in
and out, not copied.
</p> </p>
<p> <p>
This allows you to do things like have containers of containers of containers without encountering the This allows you to do things like have containers of containers of
overhead of the massive copying that would likely result if you did the same thing with the STL. containers without encountering the overhead of the massive copying
It also means you can store objects that are not copyable inside these containers, which is not that would likely result if you did the same thing with the STL. It
something you can do with the STL. also means you can store objects that are not copyable inside these
containers, which is not something you can do with the STL.
</p> </p>
<p> <p>
Note that it is assumed by these containers that swap() and operator&lt; do not throw. They Note that it is assumed by these containers that swap() and
may not function correctly if this assumption is broken. Also note that the built in types (int, long, operator&lt; do not throw. They may not function correctly if this
char, etc.) and std::string will not cause operator&lt; or swap() to throw. assumption is broken. Also note that the built in types (int, long,
char, etc.) and std::string will not cause operator&lt; or swap() to
throw.
</p> </p>
<p> <p>
Note also that most of the containers inherit from the <a href="#enumerable">enumerable</a> Note also that most of the containers inherit from the
interface. Thus, all the member functions inherited from enumerable are defined <a href="#enumerable">enumerable</a> interface. Thus, all the
in the enumerable class and their documentation is not repeated in each member functions inherited from enumerable are defined in the
container's documentation. This includes the size() member function in each enumerable class and their documentation is not repeated in each
container. container's documentation. This includes the size() member
function in each container.
</p> </p>
...@@ -71,18 +77,17 @@ ...@@ -71,18 +77,17 @@
<item>circular_buffer</item> <item>circular_buffer</item>
<item>tuple</item> <item>tuple</item>
<item>reference_wrapper</item> <item>reference_wrapper</item>
<item nolink="true">
<name>smart pointers</name>
<sub>
<item>scoped_ptr</item>
<item>shared_ptr</item>
<item>shared_ptr_thread_safe</item>
<item>weak_ptr</item>
</sub>
</item>
</section> </section>
<section>
<name>Smart Pointers</name>
<item>scoped_ptr</item>
<item>shared_ptr</item>
<item>shared_ptr_thread_safe</item>
<item>weak_ptr</item>
</section>
<section> <section>
<name>Interfaces</name> <name>Interfaces</name>
<item>map_pair</item> <item>map_pair</item>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment