Update docs for shared_ptr

This commit is contained in:
William S Fulton 2015-10-01 20:30:09 +01:00
commit 803ba97a83
6 changed files with 101 additions and 2 deletions

View file

@ -42,6 +42,10 @@
<li><a href="#Ruby_C_STL_Functors">C++ STL Functors</a>
<li><a href="#Ruby_C_Iterators">C++ STL Iterators</a>
<li><a href="#Ruby_nn24">C++ Smart Pointers</a>
<ul>
<li><a href="#Ruby_smart_pointers_shared_ptr">The shared_ptr Smart Pointer</a>
<li><a href="#Ruby_smart_pointers_generic">Generic Smart Pointers</a>
</ul>
<li><a href="#Ruby_nn25">Cross-Language Polymorphism</a>
<ul>
<li><a href="#Ruby_nn26">Exception Unrolling</a>
@ -1461,6 +1465,20 @@ i
<H3><a name="Ruby_nn24"></a>38.3.16 C++ Smart Pointers</H3>
<H4><a name="Ruby_smart_pointers_shared_ptr"></a>38.3.16.1 The shared_ptr Smart Pointer</H4>
<p>
The C++11 standard provides <tt>std::shared_ptr</tt> which was derived from the Boost
implementation, <tt>boost::shared_ptr</tt>.
Both of these are available for Ruby in the SWIG library and usage is outlined
in the <a href="Library.html#Library_std_shared_ptr">shared_ptr smart pointer</a> library section.
</p>
<H4><a name="Ruby_smart_pointers_generic"></a>38.3.16.2 Generic Smart Pointers</H4>
<p> In certain C++ programs, it is common to use classes that
have been wrapped by so-called "smart pointers." Generally, this
involves the use of a template class that implements <tt>operator-&gt;()</tt>