X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/1818107e8198734df843841a51bca3713bd37596..b1254eb62a3ca4eb2839cd0f340d754f45d549a2:/doc/structures.tex diff --git a/doc/structures.tex b/doc/structures.tex index 561075b..a7be325 100644 --- a/doc/structures.tex +++ b/doc/structures.tex @@ -234,33 +234,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 - $@[i]@->@|cls|.@|head| = @[0]$ for all $0 \le i < - @$, $@[0]@->@|cls|.@|link|$ is always null, and - $@[i]@->@|cls|.@|link| = @[i - 1]$ if $1 \le i < - @$. + \item[classes] A pointer to an array of class pointers listing the classes + in the chain from least- to most-specific. So + $@[i]@->@|cls|.@|head| = @[0]$ for all $0 \le i < + @$, $@[0]@->@|cls|.@|link|$ is always null, and + $@[i]@->@|cls|.@|link| = @[i - 1]$ if $1 \le i < + @$. - \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 @ function by walking - the chain structure.\footnote{% - There isn't enough information readily available to fill in the class - pointers correctly.} % - The @ function is much faster, though.) + \item[vt] The vtable for this chain. (It is possible, therefore, to + partially duplicate the behaviour of the @ function by walking + the chain structure.\footnote{% + There isn't enough information readily available to fill in the class + pointers correctly.} % + The @ 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} @@ -533,7 +533,7 @@ list. @_n @_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$.