Index: doc/uC++toCFA/uC++toCFA.tex
===================================================================
--- doc/uC++toCFA/uC++toCFA.tex	(revision 2ac78a14fd9ad355cb75cf3a7f4d58670189b7da)
+++ doc/uC++toCFA/uC++toCFA.tex	(revision 37336432e480af0a98b3e9b190180eb083f90f82)
@@ -11,6 +11,6 @@
 %% Created On       : Wed Apr  6 14:53:29 2016
 %% Last Modified By : Peter A. Buhr
-%% Last Modified On : Sat Apr 13 11:11:39 2024
-%% Update Count     : 5969
+%% Last Modified On : Fri Sep 13 07:48:54 2024
+%% Update Count     : 5987
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
@@ -154,5 +154,5 @@
 \begin{tabular}{@{}l|l@{}}
 \multicolumn{2}{@{}l}{\lstinline{	int x = 1, y = 2, * p1x = &x, * p1y = &y, ** p2i = &p1x,}} \\
-\multicolumn{2}{@{}l}{\lstinline{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ && r1x = x, & r1y = y, && r2i = r1x;}} \\
+\multicolumn{2}{@{}l}{\lstinline{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ & r1x = x, & r1y = y, && r2i = r1x;}} \\
 \begin{uC++}
 **p2i = 3;
@@ -384,5 +384,5 @@
 \multicolumn{2}{@{}l@{}}{\lstinline{string s1, s2;}} \\
 \begin{uC++}
-s1 = "hi";
+s1 = "abcdefg";
 s2 = s1;
 s1 += s2;
@@ -393,7 +393,7 @@
 s1.substr( 2 ); s1.substr( 2, 3 );
 s1.replace( 2, 5, s2 );
-s1.find( s2 ), s1.rfind( s2 );
+s1.find( s2 ); s1.rfind( s2 );
 s1.find_first_of( s2 ); s1.find_last_of( s2 );
-s1.find_first_not_of(s2 ); s1.find_last_not_of( s2 );
+s1.find_first_not_of( s2 ); s1.find_last_not_of( s2 );
 getline( cin, s1 );
 cout << s1 << endl;
@@ -401,5 +401,5 @@
 &
 \begin{cfa}
-s1 = "hi";
+s1 = "abcdefg";
 s2 = s1;
 s1 += s2;
@@ -409,8 +409,8 @@
 s1[3];
 s1( 2 ); s1( 2, 3 );
-//s1.replace( 2, 5, s2 );
-find( s1, s2 ), rfind( s1, s2 );
-find_first_of( .substr, s2 ); s1.find_last_of( s2 );
-s1.find_first_not_of(s2 ); s1.find_last_not_of( s2 );
+// replace( s1, 2, 5, s2 );
+// find( s1, s2 ), rfind( s1, s2 );
+// find_first_of( s2 ); find_last_of( s2 );
+// find_first_not_of( s1, s2 ); find_last_not_of( s1, s2 );
 sin | getline( s1 );
 sout | s1;
@@ -451,10 +451,11 @@
 
 
-\section{\texorpdfstring{\lstinline{uNoCtor}}{uNoCtor}}
+\section{\texorpdfstring{\lstinline{uArray}}{uArray}}
 
 \begin{cquote}
 \begin{tabular}{@{}l|l@{}}
 \begin{uC++}
-
+#include <iostream>
+using namespace std;
 struct S {
 	int i;
@@ -464,6 +465,6 @@
 int main() {
 	enum { N = 5 };
-	@uNoCtor<S>@ s[N];   // no constructor calls
-	for ( int i = 0; i < N; i += 1 ) @s[i].ctor( i )@;
+	@uArray( S, s, N );@   // no constructor calls
+	for ( int i = 0; i < N; i += 1 ) @s[i]( i )@; // constructor calls
 	for ( int i = 0; i < N; i += 1 ) cout << s[i]@->@i << endl;
 }
@@ -471,5 +472,6 @@
 &
 \begin{cfa}
-#include @<raii.hfa>@          // uninit
+#include <fstream.hfa>
+#include <array.hfa>
 struct S {
 	int i;
@@ -479,6 +481,6 @@
 int main() {
 	enum { N = 5 };
-	@uninit(S)@ s[N];   // no constructor calls
-	for ( i; N ) @s[i]{ i }@;
+	@array( S, N ) s = { delay_init };@ // no constructor calls
+	for ( i; N ) @s[i]{ i }@; // constructor calls
 	for ( i; N ) sout | s[i]@.@i;
 }
@@ -522,5 +524,5 @@
 \end{cfa}
 \\
-\multicolumn{2}{l}{\lstinline{C c;}}
+\multicolumn{2}{@{}l@{}}{\lstinline{C c;}}
 \end{tabular}
 \end{cquote}
@@ -594,5 +596,5 @@
 \end{cfa}
 \\
-\multicolumn{2}{l}{\lstinline{M m;}}
+\multicolumn{2}{@{}l@{}}{\lstinline{M m;}}
 \end{tabular}
 \end{cquote}
@@ -625,5 +627,5 @@
 \end{cfa}
 \\
-\multicolumn{2}{l}{\lstinline{T t; // start thread in main routine}}
+\multicolumn{2}{@{}l@{}}{\lstinline{T t; // start thread in main routine}}
 \end{tabular}
 \end{cquote}
