Document C++11 UCS-2 UCS-4 and C++17 UTF8 character literals support

This commit is contained in:
William S Fulton 2019-02-10 17:34:20 +00:00
commit 7bc928da60
3 changed files with 35 additions and 1 deletions

View file

@ -7,6 +7,10 @@ the issue number to the end of the URL: https://github.com/swig/swig/issues/
Version 4.0.0 (in progress)
===========================
2019-02-10: ZackerySpytz
#1450 Add support for C++11 UCS-2 and UCS-4 character literals. Also add support for
C++17 UTF8 character literals.
2019-02-04: wsfulton
[CFFI] #1447 Common Lisp CFFI has been disabled as a target language in SWIG as part of a
clean up to remove target languages that have been neglected/not functional.

View file

@ -714,6 +714,22 @@ const int SIZE = sizeof...(ClassName<int, int>);
In the above example <tt>SIZE</tt> is of course wrapped as a constant.
</p>
<H3><a name="CPlusPlus11_new_char_literals">7.2.19 New character literals</a></H3>
<p>
C++11 adds support for UCS-2 and UCS-4 character literals.
These character literals are preceded by either 'u' or 'U'.
</p>
<div class="code"><pre>
char16_t a = u'a';
char32_t b = U'b';
</pre></div>
<p>
<b>Compatibility note:</b> SWIG-4.0.0 was the first version to support these Universal Coded Character Set (UCS) character literals.
</p>
<H3><a name="CPlusPlus11_new_string_literals">7.2.19 New string literals</a></H3>

View file

@ -32,6 +32,10 @@ There isn't much in C++17 that affects SWIG, however, work has only just begun o
C++17 support.
</p>
<p>
<b>Compatibility note:</b> SWIG-4.0.0 is the first version to support any C++17 features.
</p>
<H2><a name="CPlusPlus17_core_language_changes">8.2 Core language changes</a></H2>
@ -67,10 +71,20 @@ namespace A {
</pre>
</div>
<H3><a name="CPlusPlus17_u8_char_literals">8.2.2 UTF-8 character literals</a></H3>
<p>
<b>Compatibility note:</b> SWIG-4.0.0 was the first version to support nested namespace definitions.
C++17 added UTF-8 (u8) character literals.
These are of type char.
Example:
</p>
<div class="code">
<pre>
char a = u8'a';
</pre>
</div>
<H2><a name="CPlusPlus17_standard_library_changes">8.3 Standard library changes</a></H2>