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

@ -847,8 +847,8 @@
<li><a href="Go.html#Go_examples">Examples</a>
<li><a href="Go.html#Go_running_swig">Running SWIG with Go</a>
<ul>
<li><a href="Go.html#Go_commandline">Additional Commandline Options</a>
<li><a href="Go.html#Go_outputs">Go Output Files</a>
<li><a href="Go.html#Go_commandline">Go-specific Commandline Options</a>
<li><a href="Go.html#Go_outputs">Generated Wrapper Files</a>
</ul>
<li><a href="Go.html#Go_basic_tour">A tour of basic C/C++ wrapping</a>
<ul>
@ -863,6 +863,16 @@
</ul>
<li><a href="Go.html#Go_templates">Go Templates</a>
<li><a href="Go.html#Go_director_classes">Go Director Classes</a>
<ul>
<li><a href="Go.html#Go_director_example_cpp_code">Example C++ code</a>
<li><a href="Go.html#Go_director_enable">Enable director feature</a>
<li><a href="Go.html#Go_director_ctor_dtor">Constructor and destructor</a>
<li><a href="Go.html#Go_director_overriding">Override virtual methods</a>
<li><a href="Go.html#Go_director_base_methods">Call base methods</a>
<li><a href="Go.html#Go_director_subclass">Subclass via embedding</a>
<li><a href="Go.html#Go_director_finalizer">Memory management with runtime.SetFinalizer</a>
<li><a href="Go.html#Go_director_foobargo_class">Complete FooBarGo example class</a>
</ul>
<li><a href="Go.html#Go_primitive_type_mappings">Default Go primitive type mappings</a>
<li><a href="Go.html#Go_output_arguments">Output arguments</a>
<li><a href="Go.html#Go_adding_additional_code">Adding additional go code</a>
@ -955,6 +965,10 @@
<li><a href="Java.html#Java_namespaces">C++ namespaces</a>
<li><a href="Java.html#Java_templates">C++ templates</a>
<li><a href="Java.html#Java_smart_pointers">C++ Smart Pointers</a>
<ul>
<li><a href="Java.html#Java_smart_pointers_shared_ptr">The shared_ptr Smart Pointer</a>
<li><a href="Java.html#Java_smart_pointers_generic">Generic Smart Pointers</a>
</ul>
</ul>
<li><a href="Java.html#Java_further_details">Further details on the generated Java classes</a>
<ul>
@ -1312,6 +1326,10 @@
<li><a href="Octave.html#Octave_nn19">Class extension with %extend</a>
<li><a href="Octave.html#Octave_nn20">C++ templates</a>
<li><a href="Octave.html#Octave_nn21">C++ Smart Pointers</a>
<ul>
<li><a href="Octave.html#Octave_smart_pointers_shared_ptr">The shared_ptr Smart Pointer</a>
<li><a href="Octave.html#Octave_smart_pointers_generic">Generic Smart Pointers</a>
</ul>
<li><a href="Octave.html#Octave_nn22">Directors (calling Octave from C++ code)</a>
<li><a href="Octave.html#Octave_nn23">Threads</a>
<li><a href="Octave.html#Octave_nn24">Memory management</a>
@ -1496,6 +1514,10 @@
<li><a href="Python.html#Python_nn25">C++ namespaces</a>
<li><a href="Python.html#Python_nn26">C++ templates</a>
<li><a href="Python.html#Python_nn27">C++ Smart Pointers</a>
<ul>
<li><a href="Python.html#Python_smart_pointers_shared_ptr">The shared_ptr Smart Pointer</a>
<li><a href="Python.html#Python_smart_pointers_generic">Generic Smart Pointers</a>
</ul>
<li><a href="Python.html#Python_nn27a">C++ reference counted objects</a>
</ul>
<li><a href="Python.html#Python_nn28">Further details on the Python class interface</a>
@ -1633,6 +1655,10 @@
<li><a href="Ruby.html#Ruby_C_STL_Functors">C++ STL Functors</a>
<li><a href="Ruby.html#Ruby_C_Iterators">C++ STL Iterators</a>
<li><a href="Ruby.html#Ruby_nn24">C++ Smart Pointers</a>
<ul>
<li><a href="Ruby.html#Ruby_smart_pointers_shared_ptr">The shared_ptr Smart Pointer</a>
<li><a href="Ruby.html#Ruby_smart_pointers_generic">Generic Smart Pointers</a>
</ul>
<li><a href="Ruby.html#Ruby_nn25">Cross-Language Polymorphism</a>
<ul>
<li><a href="Ruby.html#Ruby_nn26">Exception Unrolling</a>

View file

@ -618,6 +618,7 @@ completely to avoid common pitfalls with directors in Go.
<H4><a name="Go_director_example_cpp_code"></a>23.4.7.1 Example C++ code</H4>
<p>
The step by step guide is based on two example C++ classes. FooBarAbstract is
an abstract C++ class and the FooBarCpp class inherits from it. This guide

View file

@ -52,6 +52,10 @@
<li><a href="#Java_namespaces">C++ namespaces</a>
<li><a href="#Java_templates">C++ templates</a>
<li><a href="#Java_smart_pointers">C++ Smart Pointers</a>
<ul>
<li><a href="#Java_smart_pointers_shared_ptr">The shared_ptr Smart Pointer</a>
<li><a href="#Java_smart_pointers_generic">Generic Smart Pointers</a>
</ul>
</ul>
<li><a href="#Java_further_details">Further details on the generated Java classes</a>
<ul>
@ -1998,6 +2002,20 @@ More details can be found in the <a href="SWIGPlus.html#SWIGPlus">SWIG and C++</
<H3><a name="Java_smart_pointers"></a>25.3.15 C++ Smart Pointers</H3>
<H4><a name="Java_smart_pointers_shared_ptr"></a>25.3.15.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 Java 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="Java_smart_pointers_generic"></a>25.3.15.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

View file

@ -33,6 +33,10 @@
<li><a href="#Octave_nn19">Class extension with %extend</a>
<li><a href="#Octave_nn20">C++ templates</a>
<li><a href="#Octave_nn21">C++ Smart Pointers</a>
<ul>
<li><a href="#Octave_smart_pointers_shared_ptr">The shared_ptr Smart Pointer</a>
<li><a href="#Octave_smart_pointers_generic">Generic Smart Pointers</a>
</ul>
<li><a href="#Octave_nn22">Directors (calling Octave from C++ code)</a>
<li><a href="#Octave_nn23">Threads</a>
<li><a href="#Octave_nn24">Memory management</a>
@ -718,6 +722,20 @@ ans =
<H3><a name="Octave_nn21"></a>32.3.12 C++ Smart Pointers</H3>
<H4><a name="Octave_smart_pointers_shared_ptr"></a>32.3.12.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 Octave 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="Octave_smart_pointers_generic"></a>32.3.12.2 Generic Smart Pointers</H4>
<p>
C++ smart pointers are fully supported as in other modules.
</p>

View file

@ -38,6 +38,10 @@
<li><a href="#Python_nn25">C++ namespaces</a>
<li><a href="#Python_nn26">C++ templates</a>
<li><a href="#Python_nn27">C++ Smart Pointers</a>
<ul>
<li><a href="#Python_smart_pointers_shared_ptr">The shared_ptr Smart Pointer</a>
<li><a href="#Python_smart_pointers_generic">Generic Smart Pointers</a>
</ul>
<li><a href="#Python_nn27a">C++ reference counted objects</a>
</ul>
<li><a href="#Python_nn28">Further details on the Python class interface</a>
@ -2000,6 +2004,20 @@ examples will appear later.
<H3><a name="Python_nn27"></a>36.3.14 C++ Smart Pointers</H3>
<H4><a name="Python_smart_pointers_shared_ptr"></a>36.3.14.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 Python 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="Python_smart_pointers_generic"></a>36.3.14.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

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>