X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/b5229c16ce49a2b6071eb4fcdca47f5124f5c603..ed76585e9acd152f26da9e8df1ee317e840ee30b:/doc/structures.tex diff --git a/doc/structures.tex b/doc/structures.tex index 1d93b3d..1cd0bfc 100644 --- a/doc/structures.tex +++ b/doc/structures.tex @@ -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} @@ -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. @_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$.