X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/02840f3dba856d042fe27a0adfb0367346447cda..d47e7cbba080c7cf7882875f42d7211b4bdbe9d8:/doc/structures.tex?ds=sidebyside diff --git a/doc/structures.tex b/doc/structures.tex index dfa5c4c..fd97076 100644 --- a/doc/structures.tex +++ b/doc/structures.tex @@ -201,7 +201,7 @@ recommended. \begin{describe}[SodClass]{cls} {[nick = cls, link = SodObject] \\ - class SodClass : SodObject \{ \\ \ind + class SodClass: SodObject \{ \\ \ind const char *name; \\ const char *nick; \\ size_t initsz; \\ @@ -409,12 +409,11 @@ and this is followed by corresponding members struct $A$__ichain_$h$ $a$; \end{prog} for each of $C$'s superclasses $A$ in the same chain in some (unimportant) -order. +order. The (somewhat obtuse) purpose of this union is to engage the `common +initial sequence' rule of \cite[6.5.2.3]{FIXME:C99}. \subsubsection{The ichain structure} -The -@|ichain| -structure contains (in order), a pointer +The @|ichain| structure contains (in order), a pointer \begin{prog} const struct $C$__vt_$h$ *_vt; \end{prog} @@ -478,6 +477,8 @@ structure. extern const union $C$__vtu_$h$ $C$__vtable_$h$; \end{prog} +In the following, let $M$ be the metaclass of $C$. + \subsubsection{The vtu union} The outer layer is a @|union $C$__vtu_$h$| containing a member \begin{prog} @@ -588,7 +589,7 @@ or a standard message which takes keyword arguments, defined as @_n @_n? \+\\ @_{n+1} @_{n+1} @[= @_{n+1}@], $\ldots$, - @_m @_m @[= @_m@]); + @_{n'} @_{n'} @[= @_{n'}@]); \end{prog} two entry points are defined: the usual `main' entry point which accepts a variable number of arguments, and a `valist' entry point which accepts an