X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/b717d5d4d745859309f846cc509949c174b42e8e..00d59354c311fb28730b7c9b117b0d91aac092cc:/doc/output.tex diff --git a/doc/output.tex b/doc/output.tex index 22d8552..1615119 100644 --- a/doc/output.tex +++ b/doc/output.tex @@ -414,6 +414,18 @@ The following notes may be helpful. % (:classes :end) \\ \hlx{v/} % + (:static-instances :start) & static-instance, :h + & \begin{nprog} \banner{Public static instances} \\ \end{nprog} + \\*\hlx{v} + :static-instances & static-instance, :h + & \begin{nprog} + extern $[@"const"]$ struct @{}__ilayout + @{}__instance; \\ + \#define @ (\&@{}__instance.@.@) + \end{nprog} \\* + (:static-instances :end) & static-instance, :h + & \\ \hlx{v/} + % (:user :start) \\* :user \\* (:user :end) \\ \hlx{v/} @@ -464,6 +476,39 @@ The following notes may be helpful. :early \\* (:early-user :end) \\ \hlx{v/} % + (:static-instances :start) & static-instance, :c + & \begin{nprog} \banner{Static instance definitions} \\ \end{nprog} + \\*\hlx{v} + (:static-instances :decls) & static-instance, :c + & \begin{nprog} + /* Forward declarations. */ \\+ + static $[@"const"]$ struct @{}__ilayout + @{}__instance; \\ + \#define @ (\&@{}__instance.@.@) + \end{nprog} \\* + (:static-instances :gap) & static-instance, :c + & \\ + (@ :start) & sod-class, 'static-instance + & \begin{nprog} + /* Static instance `@'. */ \\ + $[@"static"]$ $[@"const"]$ struct @{}__ilayout + @{}__instance = \{ + \end{nprog} \\*\hlx{v} + (@ :chain @ :start) & ichain, 'static-instance + & \quad \{ \{ /* @ ichain */ \\* + (@ :vtable @) & vtable-pointer, 'static-instance + & \slotlabel{3}{_vt} \&@{}__vtable_@.@, \\* + (@ :slots @ :start) & islots, 'static-instance + & \quad\quad \{ /* Class @ */ \\* + (@ :slots @) & effective-slot, 'static-instance + & \slotlabel{4}{@} @, \\* + (@ :slots @ :end) & islots, 'static-instance + & \quad\quad \}, \\* + (@ :chain @ :end) & ichain, 'static-instance + & \quad \} \}, \\* + (@ :end) & sod-class, 'static-instance + & \begin{nprog} \}; \\ \end{nprog} \\ \hlx{v/} + % (:classes :start) \\*\hlx{v} % (@ :banner) & sod-class, :c @@ -686,6 +731,17 @@ The following notes may be helpful. \>@ @ @}} \end{describe*} +\begin{describe}{var}{*static-instance*} +\end{describe} + +\begin{describe}{gf}{declare-static-instance @ @} +\end{describe} + +\begin{describe}{gf} + {output-static-instance-initializer @ @ + @} +\end{describe} + %%%----- That's all, folks -------------------------------------------------- %%% Local variables: