Add C++20 documentation chapter

This commit is contained in:
William S Fulton 2020-06-08 20:52:57 +01:00
commit b7bcb338cf
36 changed files with 1088 additions and 1030 deletions

View file

@ -7,7 +7,7 @@
</head>
<body bgcolor="#ffffff">
<H1><a name="Customization">14 Customization Features</a></H1>
<H1><a name="Customization">15 Customization Features</a></H1>
<!-- INDEX -->
<div class="sectiontoc">
<ul>
@ -46,7 +46,7 @@ of exception handling is presented. Then, a more general-purpose
customization mechanism known as "features" is described.
</p>
<H2><a name="Customization_exception">14.1 Exception handling with %exception</a></H2>
<H2><a name="Customization_exception">15.1 Exception handling with %exception</a></H2>
<p>
@ -101,7 +101,7 @@ for exception handling. That directive is deprecated--<tt>%exception</tt>
provides the same functionality, but is substantially more flexible.
</p>
<H3><a name="Customization_nn3">14.1.1 Handling exceptions in C code</a></H3>
<H3><a name="Customization_nn3">15.1.1 Handling exceptions in C code</a></H3>
<p>
@ -169,7 +169,7 @@ Each target language has its own approach to creating a runtime error/exception
and for Perl it is the <tt>croak</tt> method shown above.
</p>
<H3><a name="Customization_nn4">14.1.2 Exception handling with longjmp()</a></H3>
<H3><a name="Customization_nn4">15.1.2 Exception handling with longjmp()</a></H3>
<p>
@ -245,7 +245,7 @@ Note: This implementation is only intended to illustrate the general idea. To m
modify it to handle nested <tt>try</tt> declarations.
</p>
<H3><a name="Customization_nn5">14.1.3 Handling C++ exceptions</a></H3>
<H3><a name="Customization_nn5">15.1.3 Handling C++ exceptions</a></H3>
<p>
@ -280,7 +280,7 @@ class OutOfMemory {};
</pre>
</div>
<H3><a name="Customization_allowexcept">14.1.4 Exception handlers for variables</a></H3>
<H3><a name="Customization_allowexcept">15.1.4 Exception handlers for variables</a></H3>
<p>
@ -305,7 +305,7 @@ The <tt>%allowexception</tt> feature works like any other feature and so can be
</pre>
</div>
<H3><a name="Customization_nn6">14.1.5 Defining different exception handlers</a></H3>
<H3><a name="Customization_nn6">15.1.5 Defining different exception handlers</a></H3>
<p>
@ -442,7 +442,7 @@ declarations. However, it never really worked that well and the new
%exception directive is much better.
</p>
<H3><a name="Customization_exception_special_variables">14.1.6 Special variables for %exception</a></H3>
<H3><a name="Customization_exception_special_variables">15.1.6 Special variables for %exception</a></H3>
<p>
@ -545,7 +545,7 @@ Below shows the expansions for the 1st of the overloaded <tt>something</tt> wrap
</pre></div>
<H3><a name="Customization_nn7">14.1.7 Using The SWIG exception library</a></H3>
<H3><a name="Customization_nn7">15.1.7 Using The SWIG exception library</a></H3>
<p>
@ -600,7 +600,7 @@ SWIG_NullReferenceError
The <tt>SWIG_exception()</tt> function can also be used in typemaps.
</p>
<H2><a name="Customization_ownership">14.2 Object ownership and %newobject</a></H2>
<H2><a name="Customization_ownership">15.2 Object ownership and %newobject</a></H2>
<p>
@ -757,7 +757,7 @@ char *strdup(const char *s);
The results might not be what you expect.
</p>
<H2><a name="Customization_features">14.3 Features and the %feature directive</a></H2>
<H2><a name="Customization_features">15.3 Features and the %feature directive</a></H2>
<p>
@ -839,7 +839,7 @@ The following are all equivalent:
The syntax in the first variation will generate the <tt>{ }</tt> delimiters used whereas the other variations will not.
</p>
<H3><a name="Customization_feature_attributes">14.3.1 Feature attributes</a></H3>
<H3><a name="Customization_feature_attributes">15.3.1 Feature attributes</a></H3>
<p>
@ -880,7 +880,7 @@ In the following example, <tt>MyExceptionClass</tt> is the name of the Java clas
Further details can be obtained from the <a href="Java.html#Java_exception_handling">Java exception handling</a> section.
</p>
<H3><a name="Customization_feature_flags">14.3.2 Feature flags</a></H3>
<H3><a name="Customization_feature_flags">15.3.2 Feature flags</a></H3>
<p>
@ -978,7 +978,7 @@ in the <tt>swig.swg</tt> Library file. The following shows the alternative synta
The concept of clearing features is discussed next.
</p>
<H3><a name="Customization_clearing_features">14.3.3 Clearing features</a></H3>
<H3><a name="Customization_clearing_features">15.3.3 Clearing features</a></H3>
<p>
@ -1071,7 +1071,7 @@ The three macros below show this for the "except" feature:
</pre>
</div>
<H3><a name="Customization_features_default_args">14.3.4 Features and default arguments</a></H3>
<H3><a name="Customization_features_default_args">15.3.4 Features and default arguments</a></H3>
<p>
@ -1146,7 +1146,7 @@ specifying or not specifying default arguments in a feature is not applicable as
in SWIG-1.3.23 when the approach to wrapping methods with default arguments was changed.
</p>
<H3><a name="Customization_features_example">14.3.5 Feature example</a></H3>
<H3><a name="Customization_features_example">15.3.5 Feature example</a></H3>
<p>