doc/clang.tex: Display the `fun' type specifier.
[sod] / doc / structures.tex
index 561075b..1cd0bfc 100644 (file)
@@ -87,6 +87,7 @@ metaclass, and @|SodClass| is a subclass of @|SodObject|.  Extensions can
 define additional root classes, but this is tricky, and not really to be
 recommended.
 
+
 \subsection{The SodObject class} \label{sec:structures.root.sodobject}
 
 \begin{figure}[tbp]
@@ -129,6 +130,7 @@ recommended.
   \xref{fig:structures.root.sodobject}.
 \end{describe}
 
+
 \subsection{The SodClass class} \label{sec:structures.root.sodclass}
 
 \begin{describe}[SodClass]{cls}
@@ -234,33 +236,33 @@ recommended.
        size_t ichainsz; \- \\
      \};}
 
-   The @|struct sod_chain| structure describes an individual chain of
-   superclasses.  It has the following members.
-   \begin{description} \let\makelabel\code
+  The @|struct sod_chain| structure describes an individual chain of
+  superclasses.  It has the following members.
+  \begin{description} \let\makelabel\code
 
-   \item[n_classes] The number of classes in the chain.  This is always at
-     least one.
+  \item[n_classes] The number of classes in the chain.  This is always at
+    least one.
 
-   \item[classes] A pointer to an array of class pointers listing the classes
-     in the chain from least- to most-specific.  So
-     $@<classes>[i]@->@|cls|.@|head| = @<classes>[0]$ for all $0 \le i <
-     @<n_classes>$, $@<classes>[0]@->@|cls|.@|link|$ is always null, and
-     $@<classes>[i]@->@|cls|.@|link| = @<classes>[i - 1]$ if $1 \le i <
-     @<n_classes>$.
+  \item[classes] A pointer to an array of class pointers listing the classes
+    in the chain from least- to most-specific.  So
+    $@<classes>[i]@->@|cls|.@|head| = @<classes>[0]$ for all $0 \le i <
+    @<n_classes>$, $@<classes>[0]@->@|cls|.@|link|$ is always null, and
+    $@<classes>[i]@->@|cls|.@|link| = @<classes>[i - 1]$ if $1 \le i <
+    @<n_classes>$.
 
-   \item[off_ichain] The size of the @|ichain| structure for this chain.
+  \item[off_ichain] The size of the @|ichain| structure for this chain.
 
-   \item[vt] The vtable for this chain.  (It is possible, therefore, to
-     partially duplicate the behaviour of the @<imprint> function by walking
-     the chain structure.\footnote{%
-       There isn't enough information readily available to fill in the class
-       pointers correctly.} %
-     The @<imprint> function is much faster, though.)
+  \item[vt] The vtable for this chain.  (It is possible, therefore, to
+    partially duplicate the behaviour of the @<imprint> function by walking
+    the chain structure.\footnote{%
+      There isn't enough information readily available to fill in the class
+      pointers correctly.} %
+    The @<imprint> function is much faster, though.)
 
-   \item[ichainsz] The size of the @|ichain| structure for this chain.
+  \item[ichainsz] The size of the @|ichain| structure for this chain.
 
-   \end{description}
- \end{describe}
+  \end{description}
+\end{describe}
 
 %%%--------------------------------------------------------------------------
 \section{Class and vtable layout} \label{sec:structures.layout}
@@ -279,6 +281,7 @@ In the description that follows, uppercase letters vary over class names,
 while the corresponding lowercase letters indicate the class nicknames.
 Throughout, we consider a class $C$ (therefore with nickname $c$).
 
+
 \subsection{Generic instance structure}
 \label{sec:structures.layout.instance}
 
@@ -369,6 +372,7 @@ type system) to be a pointer to the @|struct $C$__ichain_$h$|.
 Finally, the @|islots| structure simply contains one member for each slot
 defined by $C$ in the order they appear in the class definition.
 
+
 \subsection{Generic vtable structure} \label{sec:structures.layout.vtable}
 
 As described above, each @|ichain| structure of an instance's storage has a
@@ -533,7 +537,8 @@ list.
                    @<type>_n @<arg>_n, va_list sod__ap);
 \end{prog}
 
-\subsection{Additional definitions} \label{sec:structures.additional}
+
+\subsection{Additional definitions} \label{sec:structures.layout.additional}
 
 In addition to the instance and vtable structures described above, the
 following definitions are made for each class $C$.