diff --git a/languages/cpp/doc/cppannotations.toc b/languages/cpp/doc/cppannotations.toc
index e4d538c..7631c68 100644
--- a/languages/cpp/doc/cppannotations.toc
+++ b/languages/cpp/doc/cppannotations.toc
@@ -3,450 +3,795 @@
<title>C++ Annotations</title>
<base href="http://www.icce.rug.nl/documents/cplusplus/"/>
-<tocsect1 name="Chapter 1: Overview of the chapters" url="cplusplus01.html#l1" />
+<tocsect1 name="Chapter 1: Overview Of The Chapters" url="cplusplus01.html#l1"/>
+
<tocsect1 name="Chapter 2: Introduction" url="cplusplus02.html#l2">
<tocsect2 name="2.1: What's new in the C++ Annotations" url="cplusplus02.html#l3"/>
- <tocsect2 name="2.2: Free Lectures in C++" url="cplusplus02.html#l4"/>
- <tocsect2 name="2.3: The history of C++" url="cplusplus02.html#l5">
- <tocsect3 name="2.3.1: History of the C++ Annotations" url="cplusplus02.html#l6"/>
- <tocsect3 name="2.3.2: Compiling a C program by a C++ compiler" url="cplusplus02.html#l7"/>
- <tocsect3 name="2.3.3: Compiling a C++ program" url="cplusplus02.html#l8">
- <tocsect4 name="2.3.3.1: C++ under MS-Windows" url="cplusplus02.html#l9"/>
- <tocsect4 name="2.3.3.2: Compiling a C++ source text" url="cplusplus02.html#l10"/>
+ <tocsect2 name="2.2: C++'s history" url="cplusplus02.html#l4">
+ <tocsect3 name="2.2.1: History of the C++ Annotations" url="cplusplus02.html#l5"/>
+ <tocsect3 name="2.2.2: Compiling a C program using a C++ compiler" url="cplusplus02.html#l6"/>
+ <tocsect3 name="2.2.3: Compiling a C++ program" url="cplusplus02.html#l7">
+ <tocsect4 name="2.2.3.1: C++ under MS-Windows" url="cplusplus02.html#l8"/>
+ <tocsect4 name="2.2.3.2: Compiling a C++ source text" url="cplusplus02.html#l9"/>
</tocsect3>
</tocsect2>
- <tocsect2 name="2.4: Advantages and pretensions of C++" url="cplusplus02.html#l11"/>
- <tocsect2 name="2.5: What is Object-Oriented Programming?" url="cplusplus02.html#l12"/>
- <tocsect2 name="2.6: Differences between C and C++" url="cplusplus02.html#l13">
+ <tocsect2 name="2.3: C++: advantages and claims" url="cplusplus02.html#l10"/>
+ <tocsect2 name="2.4: What is Object-Oriented Programming?" url="cplusplus02.html#l11"/>
+ <tocsect2 name="2.5: Differences between C and C++" url="cplusplus02.html#l12">
+ <tocsect3 name="2.5.1: The function `main'" url="cplusplus02.html#l13"/>
+ <tocsect3 name="2.5.2: End-of-line comment" url="cplusplus02.html#l14"/>
+ <tocsect3 name="2.5.3: Strict type checking" url="cplusplus02.html#l15"/>
+ <tocsect3 name="2.5.4: Function Overloading" url="cplusplus02.html#l16"/>
+ <tocsect3 name="2.5.5: Default function arguments" url="cplusplus02.html#l17"/>
+ <tocsect3 name="2.5.6: NULL-pointers vs. 0-pointers and nullptr" url="cplusplus02.html#l18"/>
+ <tocsect3 name="2.5.7: The `void' parameter list" url="cplusplus02.html#l19"/>
+ <tocsect3 name="2.5.8: The `#define __cplusplus'" url="cplusplus02.html#l20"/>
+ <tocsect3 name="2.5.9: Using standard C functions" url="cplusplus02.html#l21"/>
+ <tocsect3 name="2.5.10: Header files for both C and C++" url="cplusplus02.html#l22"/>
+ <tocsect3 name="2.5.11: Defining local variables" url="cplusplus02.html#l23"/>
+ <tocsect3 name="2.5.12: The keyword `typedef'" url="cplusplus02.html#l24"/>
+ <tocsect3 name="2.5.13: Functions as part of a struct" url="cplusplus02.html#l25"/>
</tocsect2>
</tocsect1>
-<tocsect1 name="Chapter 3: A first impression of C++" url="cplusplus03.html#l32">
- <tocsect2 name="3.1: More extensions to C in C++" url="cplusplus03.html#l33">
- <tocsect3 name="3.1.1: The scope resolution operator ::" url="cplusplus03.html#l34"/>
- <tocsect3 name="3.1.2: `cout', `cin' and `cerr'" url="cplusplus03.html#l35"/>
- <tocsect3 name="3.1.3: The keyword `const'" url="cplusplus03.html#l36"/>
- <tocsect3 name="3.1.4: References" url="cplusplus03.html#l37"/>
+<tocsect1 name="Chapter 3: A First Impression Of C++" url="cplusplus03.html#l26">
+ <tocsect2 name="3.1: Extensions to C" url="cplusplus03.html#l27">
+ <tocsect3 name="3.1.1: Namespaces" url="cplusplus03.html#l28"/>
+ <tocsect3 name="3.1.2: The scope resolution operator ::" url="cplusplus03.html#l29"/>
+ <tocsect3 name="3.1.3: Using the keyword `const'" url="cplusplus03.html#l30"/>
+ <tocsect3 name="3.1.4: `cout', `cin', and `cerr'" url="cplusplus03.html#l31"/>
</tocsect2>
- <tocsect2 name="3.2: Functions as part of structs" url="cplusplus03.html#l38"/>
- <tocsect2 name="3.3: Several new data types" url="cplusplus03.html#l39">
- <tocsect3 name="3.3.1: The `bool' data type" url="cplusplus03.html#l40"/>
- <tocsect3 name="3.3.2: The `wchar_t' data type" url="cplusplus03.html#l41"/>
+ <tocsect2 name="3.2: Functions as part of structs" url="cplusplus03.html#l32">
+ <tocsect3 name="3.2.1: Data hiding: public, private and class" url="cplusplus03.html#l33"/>
+ <tocsect3 name="3.2.2: Structs in C vs. structs in C++" url="cplusplus03.html#l34"/>
</tocsect2>
- <tocsect2 name="3.4: Data hiding: public, private and class" url="cplusplus03.html#l42"/>
- <tocsect2 name="3.5: Structs in C vs. structs in C++" url="cplusplus03.html#l43"/>
- <tocsect2 name="3.6: Namespaces" url="cplusplus03.html#l44">
- <tocsect3 name="3.6.1: Defining namespaces" url="cplusplus03.html#l45">
- <tocsect4 name="3.6.1.1: Declaring entities in namespaces" url="cplusplus03.html#l46"/>
- <tocsect4 name="3.6.1.2: A closed namespace " url="cplusplus03.html#l47"/>
+ <tocsect2 name="3.3: More extensions to C" url="cplusplus03.html#l35">
+ <tocsect3 name="3.3.1: References" url="cplusplus03.html#l36"/>
+ <tocsect3 name="3.3.2: Rvalue References" url="cplusplus03.html#l37"/>
+ <tocsect3 name="3.3.3: Strongly typed enumerations" url="cplusplus03.html#l38"/>
+ <tocsect3 name="3.3.4: Initializer lists" url="cplusplus03.html#l39"/>
+ <tocsect3 name="3.3.5: Type inference using `auto'" url="cplusplus03.html#l40"/>
+ <tocsect3 name="3.3.6: Defining types and 'using' declarations" url="cplusplus03.html#l41"/>
+ <tocsect3 name="3.3.7: Range-based for-loops" url="cplusplus03.html#l42"/>
+ <tocsect3 name="3.3.8: Raw String Literals" url="cplusplus03.html#l43"/>
+ </tocsect2>
+ <tocsect2 name="3.4: New language-defined data types" url="cplusplus03.html#l44">
+ <tocsect3 name="3.4.1: The data type `bool'" url="cplusplus03.html#l45"/>
+ <tocsect3 name="3.4.2: The data type `wchar_t'" url="cplusplus03.html#l46"/>
+ <tocsect3 name="3.4.3: Unicode encoding" url="cplusplus03.html#l47"/>
+ <tocsect3 name="3.4.4: The data type `long long int'" url="cplusplus03.html#l48"/>
+ <tocsect3 name="3.4.5: The data type `size_t'" url="cplusplus03.html#l49"/>
+ </tocsect2>
+ <tocsect2 name="3.5: A new syntax for casts" url="cplusplus03.html#l50">
+ <tocsect3 name="3.5.1: The `static_cast'-operator" url="cplusplus03.html#l51"/>
+ <tocsect3 name="3.5.2: The `const_cast'-operator" url="cplusplus03.html#l52"/>
+ <tocsect3 name="3.5.3: The `reinterpret_cast'-operator" url="cplusplus03.html#l53"/>
+ <tocsect3 name="3.5.4: The `dynamic_cast'-operator" url="cplusplus03.html#l54"/>
+ <tocsect3 name="3.5.5: Casting 'shared_ptr' objects" url="cplusplus03.html#l55"/>
+ </tocsect2>
+ <tocsect2 name="3.6: Keywords and reserved names in C++" url="cplusplus03.html#l56"/>
+</tocsect1>
+
+<tocsect1 name="Chapter 4: Name Spaces" url="cplusplus04.html#l57">
+ <tocsect2 name="4.1: Namespaces" url="cplusplus04.html#l58">
+ <tocsect3 name="4.1.1: Defining namespaces" url="cplusplus04.html#l59">
+ <tocsect4 name="4.1.1.1: Declaring entities in namespaces" url="cplusplus04.html#l60"/>
+ <tocsect4 name="4.1.1.2: A closed namespace" url="cplusplus04.html#l61"/>
</tocsect3>
- <tocsect3 name="3.6.2: Referring to entities" url="cplusplus03.html#l48">
- <tocsect4 name="3.6.2.1: The `using' directive " url="cplusplus03.html#l49"/>
- <tocsect4 name="3.6.2.2: `Koenig lookup' " url="cplusplus03.html#l50"/>
+ <tocsect3 name="4.1.2: Referring to entities" url="cplusplus04.html#l62">
+ <tocsect4 name="4.1.2.1: The `using' directive" url="cplusplus04.html#l63"/>
+ <tocsect4 name="4.1.2.2: `Koenig lookup'" url="cplusplus04.html#l64"/>
</tocsect3>
- <tocsect3 name="3.6.3: The standard namespace" url="cplusplus03.html#l51"/>
- <tocsect3 name="3.6.4: Nesting namespaces and namespace aliasing" url="cplusplus03.html#l52">
- <tocsect4 name="3.6.4.1: Defining entities outside of their namespaces" url="cplusplus03.html#l53"/>
+ <tocsect3 name="4.1.3: The standard namespace" url="cplusplus04.html#l65"/>
+ <tocsect3 name="4.1.4: Nesting namespaces and namespace aliasing" url="cplusplus04.html#l66">
+ <tocsect4 name="4.1.4.1: Defining entities outside of their namespaces" url="cplusplus04.html#l67"/>
</tocsect3>
</tocsect2>
</tocsect1>
-<tocsect1 name="Chapter 4: The `string' data type" url="cplusplus04.html#l54">
- <tocsect2 name="4.1: Operations on strings" url="cplusplus04.html#l55"/>
- <tocsect2 name="4.2: Overview of operations on strings" url="cplusplus04.html#l56">
- <tocsect3 name="4.2.1: The string initializers" url="cplusplus04.html#l57"/>
- <tocsect3 name="4.2.2: The string iterators" url="cplusplus04.html#l58"/>
- <tocsect3 name="4.2.3: The string operators" url="cplusplus04.html#l59"/>
- <tocsect3 name="4.2.4: The string member functions" url="cplusplus04.html#l60"/>
+<tocsect1 name="Chapter 5: The `string' Data Type" url="cplusplus05.html#l68">
+ <tocsect2 name="5.1: Operations on strings" url="cplusplus05.html#l69"/>
+ <tocsect2 name="5.2: A std::string reference" url="cplusplus05.html#l70">
+ <tocsect3 name="5.2.1: Initializers" url="cplusplus05.html#l71"/>
+ <tocsect3 name="5.2.2: Iterators" url="cplusplus05.html#l72"/>
+ <tocsect3 name="5.2.3: Operators" url="cplusplus05.html#l73"/>
+ <tocsect3 name="5.2.4: Member functions" url="cplusplus05.html#l74"/>
+ <tocsect3 name="5.2.5: Conversion functions" url="cplusplus05.html#l75"/>
</tocsect2>
</tocsect1>
-<tocsect1 name="Chapter 5: The IO-stream Library" url="cplusplus05.html#l61">
- <tocsect2 name="5.1: Iostream header files" url="cplusplus05.html#l62"/>
- <tocsect2 name="5.2: The foundation: the class `ios_base'" url="cplusplus05.html#l63"/>
- <tocsect2 name="5.3: Interfacing `streambuf' objects: the class `ios'" url="cplusplus05.html#l64">
- <tocsect3 name="5.3.1: Condition states" url="cplusplus05.html#l65"/>
- <tocsect3 name="5.3.2: Formatting output and input" url="cplusplus05.html#l66">
- <tocsect4 name="5.3.2.1: Formatting flags" url="cplusplus05.html#l67"/>
- <tocsect4 name="5.3.2.2: Format modifying member functions" url="cplusplus05.html#l68"/>
+<tocsect1 name="Chapter 6: The IO-stream Library" url="cplusplus06.html#l76">
+ <tocsect2 name="6.1: Special header files" url="cplusplus06.html#l77"/>
+ <tocsect2 name="6.2: The foundation: the class `ios_base'" url="cplusplus06.html#l78"/>
+ <tocsect2 name="6.3: Interfacing `streambuf' objects: the class `ios'" url="cplusplus06.html#l79">
+ <tocsect3 name="6.3.1: Condition states" url="cplusplus06.html#l80"/>
+ <tocsect3 name="6.3.2: Formatting output and input" url="cplusplus06.html#l81">
+ <tocsect4 name="6.3.2.1: Format modifying member functions" url="cplusplus06.html#l82"/>
+ <tocsect4 name="6.3.2.2: Formatting flags" url="cplusplus06.html#l83"/>
</tocsect3>
</tocsect2>
- <tocsect2 name="5.4: Output" url="cplusplus05.html#l69">
- <tocsect3 name="5.4.1: Basic output: the class `ostream'" url="cplusplus05.html#l70">
- <tocsect4 name="5.4.1.1: Writing to `ostream' objects" url="cplusplus05.html#l71"/>
- <tocsect4 name="5.4.1.2: `ostream' positioning" url="cplusplus05.html#l72"/>
- <tocsect4 name="5.4.1.3: `ostream' flushing" url="cplusplus05.html#l73"/>
+ <tocsect2 name="6.4: Output" url="cplusplus06.html#l84">
+ <tocsect3 name="6.4.1: Basic output: the class `ostream'" url="cplusplus06.html#l85">
+ <tocsect4 name="6.4.1.1: Writing to `ostream' objects" url="cplusplus06.html#l86"/>
+ <tocsect4 name="6.4.1.2: `ostream' positioning" url="cplusplus06.html#l87"/>
+ <tocsect4 name="6.4.1.3: `ostream' flushing" url="cplusplus06.html#l88"/>
</tocsect3>
- <tocsect3 name="5.4.2: Output to files: the class `ofstream'" url="cplusplus05.html#l74">
- <tocsect4 name="5.4.2.1: Modes for opening stream objects" url="cplusplus05.html#l75"/>
+ <tocsect3 name="6.4.2: Output to files: the class `ofstream'" url="cplusplus06.html#l89">
+ <tocsect4 name="6.4.2.1: Modes for opening stream objects" url="cplusplus06.html#l90"/>
</tocsect3>
- <tocsect3 name="5.4.3: Output to memory: the class `ostringstream'" url="cplusplus05.html#l76"/>
+ <tocsect3 name="6.4.3: Output to memory: the class `ostringstream'" url="cplusplus06.html#l91"/>
</tocsect2>
- <tocsect2 name="5.5: Input" url="cplusplus05.html#l77">
- <tocsect3 name="5.5.1: Basic input: the class `istream'" url="cplusplus05.html#l78">
- <tocsect4 name="5.5.1.1: Reading from `istream' objects" url="cplusplus05.html#l79"/>
- <tocsect4 name="5.5.1.2: `istream' positioning" url="cplusplus05.html#l80"/>
+ <tocsect2 name="6.5: Input" url="cplusplus06.html#l92">
+ <tocsect3 name="6.5.1: Basic input: the class `istream'" url="cplusplus06.html#l93">
+ <tocsect4 name="6.5.1.1: Reading from `istream' objects" url="cplusplus06.html#l94"/>
+ <tocsect4 name="6.5.1.2: `istream' positioning" url="cplusplus06.html#l95"/>
</tocsect3>
- <tocsect3 name="5.5.2: Input from streams: the class `ifstream'" url="cplusplus05.html#l81"/>
- <tocsect3 name="5.5.3: Input from memory: the class `istringstream'" url="cplusplus05.html#l82"/>
+ <tocsect3 name="6.5.2: Input from files: the class `ifstream'" url="cplusplus06.html#l96"/>
+ <tocsect3 name="6.5.3: Input from memory: the class `istringstream'" url="cplusplus06.html#l97"/>
+ <tocsect3 name="6.5.4: Copying streams" url="cplusplus06.html#l98"/>
+ <tocsect3 name="6.5.5: Coupling streams" url="cplusplus06.html#l99"/>
</tocsect2>
- <tocsect2 name="5.6: Manipulators" url="cplusplus05.html#l83"/>
- <tocsect2 name="5.7: The `streambuf' class" url="cplusplus05.html#l84">
- <tocsect3 name="5.7.1: Protected `streambuf' members" url="cplusplus05.html#l85"/>
- <tocsect3 name="5.7.2: The class `filebuf'" url="cplusplus05.html#l86"/>
- </tocsect2>
- <tocsect2 name="5.8: Advanced topics" url="cplusplus05.html#l87">
- <tocsect3 name="5.8.1: Copying streams" url="cplusplus05.html#l88"/>
- <tocsect3 name="5.8.2: Coupling streams" url="cplusplus05.html#l89"/>
- <tocsect3 name="5.8.3: Redirection using streams" url="cplusplus05.html#l90"/>
- <tocsect3 name="5.8.4: Reading AND Writing to a stream" url="cplusplus05.html#l91"/>
+ <tocsect2 name="6.6: Advanced topics" url="cplusplus06.html#l100">
+ <tocsect3 name="6.6.1: Redirecting streams" url="cplusplus06.html#l101"/>
+ <tocsect3 name="6.6.2: Reading AND Writing streams" url="cplusplus06.html#l102"/>
</tocsect2>
</tocsect1>
-<tocsect1 name="Chapter 6: Classes" url="cplusplus06.html#l92">
- <tocsect2 name="6.1: The constructor" url="cplusplus06.html#l93">
- <tocsect3 name="6.1.1: A first application" url="cplusplus06.html#l94"/>
- <tocsect3 name="6.1.2: Constructors: with and without arguments" url="cplusplus06.html#l95">
- <tocsect4 name="6.1.2.1: The order of construction" url="cplusplus06.html#l96"/>
+<tocsect1 name="Chapter 7: Classes" url="cplusplus07.html#l103">
+ <tocsect2 name="7.1: The constructor" url="cplusplus07.html#l104">
+ <tocsect3 name="7.1.1: A first application" url="cplusplus07.html#l105"/>
+ <tocsect3 name="7.1.2: Constructors: with and without arguments" url="cplusplus07.html#l106">
+ <tocsect4 name="7.1.2.1: The order of construction" url="cplusplus07.html#l107"/>
</tocsect3>
</tocsect2>
- <tocsect2 name="6.2: Const member functions and const objects" url="cplusplus06.html#l97"/>
- <tocsect2 name="6.3: The keyword `inline'" url="cplusplus06.html#l98">
- <tocsect3 name="6.3.1: Inline functions within class declarations" url="cplusplus06.html#l99"/>
- <tocsect3 name="6.3.2: Inline functions outside of class declarations" url="cplusplus06.html#l100"/>
- <tocsect3 name="6.3.3: When to use inline functions" url="cplusplus06.html#l101"/>
+ <tocsect2 name="7.2: Ambiguity resolution" url="cplusplus07.html#l108">
+ <tocsect3 name="7.2.1: Types `Data' vs. `Data()'" url="cplusplus07.html#l109"/>
+ <tocsect3 name="7.2.2: Superfluous parentheses" url="cplusplus07.html#l110"/>
+ <tocsect3 name="7.2.3: Existing types" url="cplusplus07.html#l111"/>
</tocsect2>
- <tocsect2 name="6.4: Objects in objects: composition" url="cplusplus06.html#l102">
- <tocsect3 name="6.4.1: Composition and const objects: const member initializers" url="cplusplus06.html#l103"/>
- <tocsect3 name="6.4.2: Composition and reference objects: reference member initializers" url="cplusplus06.html#l104"/>
+ <tocsect2 name="7.3: Objects inside objects: composition" url="cplusplus07.html#l112">
+ <tocsect3 name="7.3.1: Composition and const objects: const member initializers" url="cplusplus07.html#l113"/>
+ <tocsect3 name="7.3.2: Composition and reference objects: reference member initializers" url="cplusplus07.html#l114"/>
</tocsect2>
- <tocsect2 name="6.5: Header file organization with classes" url="cplusplus06.html#l105">
- <tocsect3 name="6.5.1: Using namespaces in header files" url="cplusplus06.html#l106"/>
+ <tocsect2 name="7.4: Data member initializers" url="cplusplus07.html#l115">
+ <tocsect3 name="7.4.1: Delegating constructors" url="cplusplus07.html#l116"/>
</tocsect2>
- <tocsect2 name="6.6: The keyword `mutable'" url="cplusplus06.html#l107"/>
-</tocsect1>
** Diff limit reached (max: 250 lines) **
|