~mdw
/
sod
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
doc/concepts.tex: Warn about allocating resources in init methods.
[sod]
/
doc
/
structures.tex
diff --git
a/doc/structures.tex
b/doc/structures.tex
index
dfa5c4c
..
c5c2219
100644
(file)
--- a/
doc/structures.tex
+++ b/
doc/structures.tex
@@
-201,7
+201,7
@@
recommended.
\begin{describe}[SodClass]{cls}
{[nick = cls, link = SodObject] \\
\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; \\
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)
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}
\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}
\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}
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}
\subsubsection{The vtu union}
The outer layer is a @|union $C$__vtu_$h$| containing a member
\begin{prog}