summaryrefslogtreecommitdiff
path: root/bin/classinfo.ps
diff options
context:
space:
mode:
Diffstat (limited to 'bin/classinfo.ps')
-rwxr-xr-xbin/classinfo.ps868
1 files changed, 868 insertions, 0 deletions
diff --git a/bin/classinfo.ps b/bin/classinfo.ps
new file mode 100755
index 00000000000..950535ed86e
--- /dev/null
+++ b/bin/classinfo.ps
@@ -0,0 +1,868 @@
+%!PS-Adobe-3.0
+%%BoundingBox: 54 72 558 720
+%%Creator: Mozilla (NetScape) HTML->PS
+%%DocumentData: Clean7Bit
+%%Orientation: Portrait
+%%Pages: 9
+%%PageOrder: Ascend
+%%Title: Classinfo Tools
+%%EndComments
+%%BeginProlog
+[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+ /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
+ /two /three /four /five /six /seven /eight /nine /colon /semicolon
+ /less /equal /greater /question /at /A /B /C /D /E
+ /F /G /H /I /J /K /L /M /N /O
+ /P /Q /R /S /T /U /V /W /X /Y
+ /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
+ /d /e /f /g /h /i /j /k /l /m
+ /n /o /p /q /r /s /t /u /v /w
+ /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ /space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
+ /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
+ /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
+ /threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+ /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
+ /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
+ /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
+ /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
+ /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
+ /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
+/c { matrix currentmatrix currentpoint translate
+ 3 1 roll scale newpath 0 0 1 0 360 arc setmatrix } bind def
+/F0
+ /Times-Roman findfont
+ dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding isolatin1encoding def
+ currentdict end
+definefont pop
+/f0 { /F0 findfont exch scalefont setfont } bind def
+/F1
+ /Times-Bold findfont
+ dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding isolatin1encoding def
+ currentdict end
+definefont pop
+/f1 { /F1 findfont exch scalefont setfont } bind def
+/F2
+ /Times-Italic findfont
+ dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding isolatin1encoding def
+ currentdict end
+definefont pop
+/f2 { /F2 findfont exch scalefont setfont } bind def
+/F3
+ /Times-BoldItalic findfont
+ dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding isolatin1encoding def
+ currentdict end
+definefont pop
+/f3 { /F3 findfont exch scalefont setfont } bind def
+/F4
+ /Courier findfont
+ dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding isolatin1encoding def
+ currentdict end
+definefont pop
+/f4 { /F4 findfont exch scalefont setfont } bind def
+/F5
+ /Courier-Bold findfont
+ dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding isolatin1encoding def
+ currentdict end
+definefont pop
+/f5 { /F5 findfont exch scalefont setfont } bind def
+/F6
+ /Courier-Oblique findfont
+ dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding isolatin1encoding def
+ currentdict end
+definefont pop
+/f6 { /F6 findfont exch scalefont setfont } bind def
+/F7
+ /Courier-BoldOblique findfont
+ dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding isolatin1encoding def
+ currentdict end
+definefont pop
+/f7 { /F7 findfont exch scalefont setfont } bind def
+/rhc {
+ {
+ currentfile read {
+ dup 97 ge
+ { 87 sub true exit }
+ { dup 48 ge { 48 sub true exit } { pop } ifelse }
+ ifelse
+ } {
+ false
+ exit
+ } ifelse
+ } loop
+} bind def
+
+/cvgray { % xtra_char npix cvgray - (string npix long)
+ dup string
+ 0
+ {
+ rhc { cvr 4.784 mul } { exit } ifelse
+ rhc { cvr 9.392 mul } { exit } ifelse
+ rhc { cvr 1.824 mul } { exit } ifelse
+ add add cvi 3 copy put pop
+ 1 add
+ dup 3 index ge { exit } if
+ } loop
+ pop
+ 3 -1 roll 0 ne { rhc { pop } if } if
+ exch pop
+} bind def
+
+/smartimage12rgb { % w h b [matrix] smartimage12rgb -
+ /colorimage where {
+ pop
+ { currentfile rowdata readhexstring pop }
+ false 3
+ colorimage
+ } {
+ exch pop 8 exch
+ 3 index 12 mul 8 mod 0 ne { 1 } { 0 } ifelse
+ 4 index
+ 6 2 roll
+ { 2 copy cvgray }
+ image
+ pop pop
+ } ifelse
+} def
+/cshow { dup stringwidth pop 2 div neg 0 rmoveto show } bind def
+/rshow { dup stringwidth pop neg 0 rmoveto show } bind def
+%%EndProlog
+%%Page: 1 1
+%%BeginPageSetup
+/pagelevel save def
+54 0 translate
+%%EndPageSetup
+newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
+24 f1 0 697.5 moveto
+(OSE - Tools User Guide) show
+12 f2 0 668.5 moveto
+(Graham Dumpleton) show
+12 f2 0 655.4 moveto
+(Dumpleton Software Consulting Pty Limited) show
+12 f2 0 642.3 moveto
+(PO BOX 3150) show
+12 f2 0 629.2 moveto
+(Parramatta, 2124) show
+12 f2 0.2 616.1 moveto
+(N.S.W, Australia) show
+12 f2 0 603 moveto
+(email: grahamd@nms.otc.com.au) show
+0 593.9 moveto
+504 0 rlineto 0 -1.4 rlineto -504 0 rlineto closepath fill
+18 f1 0 557.2 moveto
+(Table of Contents) show
+12 f1 0 528.8 moveto
+(Classinfo Tools) show
+12 f0 78.3 528.8 moveto
+( ) show
+12 f1 28 501.7 moveto
+(1 Available Programs) show
+12 f0 139.3 501.7 moveto
+( ) show
+12 f1 28 487.9 moveto
+(2 Global Sections) show
+12 f0 116.6 487.9 moveto
+( ) show
+12 f1 28 474.1 moveto
+(3 Block Formatting) show
+12 f0 127.9 474.1 moveto
+( ) show
+12 f1 28 460.3 moveto
+(4 Inline Formatting) show
+12 f0 128.6 460.3 moveto
+( ) show
+12 f1 28 446.5 moveto
+(5 Class Sections) show
+12 f0 109.3 446.5 moveto
+( ) show
+12 f1 28 432.7 moveto
+(6 Member Documentation) show
+12 f0 162.6 432.7 moveto
+( ) show
+12 f1 28 418.9 moveto
+(7 Contract Section) show
+12 f0 123.3 418.9 moveto
+( ) show
+0 396.5 moveto
+504 0 rlineto 0 -1.4 rlineto -504 0 rlineto closepath fill
+24 f1 0 354 moveto
+(Classinfo Tools) show
+18 f1 0 318.7 moveto
+(1 Available Programs) show
+12 f0 0 290.8 moveto
+(The documentation tools provided with the OSE build environment, allow comments in your code files,) show
+12 f0 0 277.5 moveto
+(to be extracted and formatted into end user documentation. To enable the tools to do this in a predictable) show
+12 f0 0 264.2 moveto
+(manner, the comments must be formatted according to a small set of rules. At present, the tools can) show
+12 f0 0 250.9 moveto
+(extract comments from C++ class header files and produce either UNIX style manual pages, of Frame) show
+12 f0 0 237.6 moveto
+(mml files. The tools provided are described below.) show
+10 f4 0 213.7 moveto
+(-------------------------------------------------------------------------------) show
+10 f5 0 203.2 moveto
+(Program) show
+10 f4 42.2 203.2 moveto
+( ) show
+10 f5 72.2 203.2 moveto
+(Purpose) show
+10 f4 114.2 203.2 moveto
+( ) show
+10 f4 0 192.7 moveto
+(-------------------------------------------------------------------------------) show
+10 f4 0 182.2 moveto
+(class2info Parses a C++ header file and produces a file which contains infor ) show
+10 f4 0 171.7 moveto
+( mation about the class in the header file, in a form which is more ) show
+10 f4 0 161.2 moveto
+( easily parsed by other tools. ) show
+10 f4 0 150.7 moveto
+(info2man Takes the output file from class2info and produces a UNIX ) show
+10 f4 0 140.2 moveto
+( style manual page for each class described in the input file. ) show
+10 f4 0 129.7 moveto
+(class2man Combines the programs class2info and info2man, to pro ) show
+10 f4 0 119.2 moveto
+( duce a UNIX style manual page for each class declaration in a ) show
+10 f4 0 108.7 moveto
+( header file. ) show
+10 f4 0 98.2 moveto
+(info2mml Takes the output file from class2info and produces a Frame ) show
+10 f4 0 87.7 moveto
+( mml file for each class described in the inout file. ) show
+10 f4 0 77.2 moveto
+(class2mml Combines the programs class2info and info2mml, to pro ) show
+pagelevel restore
+showpage
+%%Page: 2 2
+%%BeginPageSetup
+/pagelevel save def
+54 0 translate
+%%EndPageSetup
+newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
+10 f4 0 711.9 moveto
+( duce a Frame mml file for each class declaration in a header file. ) show
+10 f4 0 701.4 moveto
+(-------------------------------------------------------------------------------) show
+12 f0 0 677.7 moveto
+(Using the same front end parser as the documentation extraction tools, are the following tools:) show
+10 f4 0 653.8 moveto
+(----------------------------------------------------------------------------) show
+10 f5 0 643.3 moveto
+(Program) show
+10 f4 42.2 643.3 moveto
+( ) show
+10 f5 66.2 643.3 moveto
+(Purpose) show
+10 f4 108.2 643.3 moveto
+( ) show
+10 f4 0 632.8 moveto
+(----------------------------------------------------------------------------) show
+10 f4 0 622.3 moveto
+(info2src Takes the output file from class2info and produces on stan ) show
+10 f4 0 611.8 moveto
+( dard output, empty stub functions for each of the member func ) show
+10 f4 0 601.3 moveto
+( tions listed in the class declarations described in the file. ) show
+10 f4 0 590.8 moveto
+(class2src Combines the programs class2info and info2src, to pro ) show
+10 f4 0 580.3 moveto
+( duce on standard output, empty stub functions for each of the ) show
+10 f4 0 569.8 moveto
+( member functions listed in the class declarations described in a ) show
+10 f4 0 559.3 moveto
+( header file. ) show
+10 f4 0 548.8 moveto
+(----------------------------------------------------------------------------) show
+12 f0 0 525.1 moveto
+(These use information contained in a C++ class header file, to produce code stubs suitable for the) show
+12 f0 0 511.8 moveto
+(corresponding implementation file for that class.) show
+12 f0 0 485.2 moveto
+(The format which C++ class header files must adhere to is the subject of the remainder of this document.) show
+18 f1 0 452.5 moveto
+(2 Global Sections) show
+12 f0 0 424.6 moveto
+(To include a section in the manual page of each class in a header file, the comment containing the body) show
+12 f0 0 411.3 moveto
+(text of the section, must appear at global scope within the header file. The title of the section must) show
+12 f0 0 398 moveto
+(appear on a separate line, immediately prior to the body text of the section. To distinguish the title of the) show
+12 f0 0 384.7 moveto
+(section from the body text, you must precede it with a tag, consisting of the character `='. There must be) show
+12 f0 0 371.4 moveto
+(a single space only, before and after the tag. For example:) show
+10 f4 0 347.5 moveto
+( // = SECTION TITLE) show
+10 f4 0 326.5 moveto
+( // Body text.) show
+12 f0 0 302.8 moveto
+(Any text following the title of the section, up till the end of the comment, the start of another section, or) show
+12 f0 0 289.5 moveto
+(a line commencing with `==', is interpreted to be the body text for that section. Multiple sections may be) show
+12 f0 0 276.2 moveto
+(documented in a single comment block. Any leading, or trailing blank lines will be discarded in the) show
+12 f0 0 262.9 moveto
+(output. An example of a comment block containing multiple sections is given below.) show
+10 f4 0 239 moveto
+( // =====================================================) show
+10 f4 0 218 moveto
+( //) show
+10 f4 0 197 moveto
+( // = SECTION TITLE1) show
+10 f4 0 176 moveto
+( // Body text.) show
+10 f4 0 155 moveto
+( //) show
+10 f4 0 134 moveto
+( // = SECTION TITLE2) show
+10 f4 0 113 moveto
+( // Body text.) show
+10 f4 0 92 moveto
+( //) show
+pagelevel restore
+showpage
+%%Page: 3 3
+%%BeginPageSetup
+/pagelevel save def
+54 0 translate
+%%EndPageSetup
+newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
+10 f4 0 711.9 moveto
+( // =====================================================) show
+12 f0 0 688.2 moveto
+(Certain sections, appearing at global scope, are given special treatment in the generated manual pages.) show
+12 f0 0 674.9 moveto
+(These are:) show
+10 f4 0 651 moveto
+(-------------------------------------------------------------------------------) show
+10 f5 0 640.5 moveto
+(Section) show
+10 f4 42 640.5 moveto
+( ) show
+10 f5 90 640.5 moveto
+(Description) show
+10 f4 156 640.5 moveto
+( ) show
+10 f4 0 630 moveto
+(-------------------------------------------------------------------------------) show
+10 f4 0 619.5 moveto
+(LIBRARY The name of the library, of which the file is a part. This will ) show
+10 f4 0 609 moveto
+( appear in the header of each manual page. ) show
+10 f4 0 598.5 moveto
+(FILENAME The name of the file. This will be used in conjunction with ) show
+10 f4 0 588 moveto
+( the library name, to produce an include line in the synopsis. ) show
+10 f4 0 577.5 moveto
+(AUTHOR\(S\) The names of the authors. If the authors are placed on sepa ) show
+10 f4 0 567 moveto
+( rate lines, commas should not be used to terminate each line. ) show
+10 f4 0 556.5 moveto
+( If more than one author is placed on a single line, a comma ) show
+10 f4 0 546 moveto
+( should be used to separate each. ) show
+10 f4 0 535.5 moveto
+(COPYRIGHT The copyright applying to the contents of the file. ) show
+10 f4 0 525 moveto
+(VERSION The version number of the file. If using RCS, this would be ) show
+10 f4 0 514.5 moveto
+( set to `$Revision$'. ) show
+10 f4 0 504 moveto
+(DATE RELEASED The date that the current version of the file was released. If ) show
+10 f4 0 493.5 moveto
+( using RCS, this would be set to `$Date$'. ) show
+10 f4 0 483 moveto
+(RCSID The raw ID produced by RCS. Normally set to `$Id$'. ) show
+10 f4 0 472.5 moveto
+(SCCSID The raw ID produced by SCCS. Normally set to `%W%'. ) show
+10 f4 0 462 moveto
+(-------------------------------------------------------------------------------) show
+12 f0 0 438.3 moveto
+(Using these tags, you can construct a comment block at the start of each file, which describes the file,) show
+12 f0 0 425 moveto
+(authors and version of the file. For example:) show
+10 f4 0 401.1 moveto
+( /*) show
+10 f4 0 380.1 moveto
+( // ========================================================) show
+10 f4 0 359.1 moveto
+( //) show
+10 f4 0 338.1 moveto
+( // = LIBRARY) show
+10 f4 0 317.1 moveto
+( // OTC) show
+10 f4 0 296.1 moveto
+( //) show
+10 f4 0 275.1 moveto
+( // = FILENAME) show
+10 f4 0 254.1 moveto
+( // collctn/list.hh) show
+10 f4 0 233.1 moveto
+( //) show
+10 f4 0 212.1 moveto
+( // = RCSID) show
+10 f4 0 191.1 moveto
+( // $Id$) show
+10 f4 0 170.1 moveto
+( //) show
+10 f4 0 149.1 moveto
+( // = AUTHOR\(S\)) show
+10 f4 0 128.1 moveto
+( // Graham Dumpleton) show
+10 f4 0 107.1 moveto
+( //) show
+10 f4 0 86.1 moveto
+( // = COPYRIGHT) show
+pagelevel restore
+showpage
+%%Page: 4 4
+%%BeginPageSetup
+/pagelevel save def
+54 0 translate
+%%EndPageSetup
+newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
+10 f4 0 711.9 moveto
+( // Copyright 1991 1992 1993 OTC LIMITED) show
+10 f4 0 690.9 moveto
+( //) show
+10 f4 0 669.9 moveto
+( // =====================================================) show
+10 f4 0 648.9 moveto
+( */) show
+18 f1 0 619.1 moveto
+(3 Block Formatting) show
+12 f0 0 591.2 moveto
+(When the text of your comments appear in the manual page, they will be reformatted. If you need to) show
+12 f0 0 577.9 moveto
+(include an excerpt of code in the manual page, for example:) show
+10 f4 0 554 moveto
+( // = EXAMPLE) show
+10 f4 0 533 moveto
+( // void dump\(Class* theClass\)) show
+10 f4 0 512 moveto
+( // {) show
+10 f4 0 491 moveto
+( // cout << theClass->name\(\) << endl;) show
+10 f4 0 470 moveto
+( // }) show
+12 f0 0 446.3 moveto
+(it will appear as:) show
+10 f4 0 422.4 moveto
+( void dump\(Class* theClass\) { cout << *theClass << endl; }) show
+12 f0 0 398.7 moveto
+(If the example is complicated, the result will be unreadable.) show
+12 f0 0 372.1 moveto
+(To let the documentation tools know that the text you have included is special and should not be) show
+12 f0 0 358.8 moveto
+(reformatted, you can mark it as being a code example. For example:) show
+10 f4 0 334.9 moveto
+( // = EXAMPLE) show
+10 f4 0 313.9 moveto
+( // = BEGIN<CODE>) show
+10 f4 0 292.9 moveto
+( // void dump\(Class* theClass\)) show
+10 f4 0 271.9 moveto
+( // {) show
+10 f4 0 250.9 moveto
+( // cout << *theClass << endl;) show
+10 f4 0 229.9 moveto
+( // }) show
+10 f4 0 208.9 moveto
+( // = END<CODE>) show
+12 f0 0 185.2 moveto
+(The commands in this example are, `BEGIN<CODE>'and `END<CODE>'. In all cases, the format of) show
+12 f0 0 171.9 moveto
+(commands used to change the formatting of a block of text is:) show
+10 f4 0 148 moveto
+( // = BEGIN<COMMAND>) show
+10 f4 0 127 moveto
+( // ....) show
+10 f4 0 106 moveto
+( // = END<COMMAND>) show
+12 f0 0 82.3 moveto
+(The `BEGIN' for a command, must always have a matching `END'. The commands which are currently) show
+pagelevel restore
+showpage
+%%Page: 5 5
+%%BeginPageSetup
+/pagelevel save def
+54 0 translate
+%%EndPageSetup
+newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
+12 f0 0 709.2 moveto
+(understood by the documentation tools are:) show
+10 f4 0 685.3 moveto
+(--------------------------------------------------------------------) show
+10 f5 0 674.8 moveto
+(Command) show
+10 f4 42 674.8 moveto
+( ) show
+10 f5 54 674.8 moveto
+(Description) show
+10 f4 120 674.8 moveto
+( ) show
+10 f4 0 664.3 moveto
+(--------------------------------------------------------------------) show
+10 f4 0 653.8 moveto
+(INDENT Text will be indented with respect to the surrounding text. ) show
+10 f4 0 643.3 moveto
+(NOFILL Text will be output with indentation and formatting as it ) show
+10 f4 0 632.8 moveto
+( appears. ) show
+10 f4 0 622.3 moveto
+(CODE Text is output in `NOFILL' mode using a fixed width font. ) show
+10 f4 0 611.8 moveto
+(COMMENT Text will not be output. This command would be used to sur ) show
+10 f4 0 601.3 moveto
+( round comments about the implementation, which should not ) show
+10 f4 0 590.8 moveto
+( appear in the user documentation. ) show
+10 f4 0 580.3 moveto
+(--------------------------------------------------------------------) show
+12 f0 0 556.6 moveto
+(Commands may be nested, with the exception that no commands should be nested within a `CODE') show
+12 f0 0 543.3 moveto
+(block.) show
+18 f1 0 510.6 moveto
+(4 Inline Formatting) show
+12 f0 0 482.7 moveto
+(As well as changing the formatting of a block of text, you can change the font style used. This is done) show
+12 f0 0 469.4 moveto
+(by placing special sequences of characters in the body of the text. Inline formatting commands come in) show
+12 f0 0 456.1 moveto
+(the following three forms:) show
+10 f4 0 432.2 moveto
+(----------------------------------------------------------------------------------) show
+10 f5 0 421.7 moveto
+(Command) show
+10 f4 42 421.7 moveto
+( ) show
+10 f5 96 421.7 moveto
+(Description) show
+10 f4 162 421.7 moveto
+( ) show
+10 f4 0 411.2 moveto
+(----------------------------------------------------------------------------------) show
+10 f4 0 400.7 moveto
+(<text> Text between `<` and `>', is displayed in a fixed with font. ) show
+10 f4 0 390.2 moveto
+(<{text}> Text between `<{` and `}>', is displayed in an italic font. ) show
+10 f4 0 379.7 moveto
+(<[text]> Text between `<[` and `]>', is displayed in a bold font. ) show
+10 f4 0 369.2 moveto
+(----------------------------------------------------------------------------------) show
+12 f0 0 345.5 moveto
+(`<text>' should be used for all C++ keywords, function names, variable names, class names, expressions) show
+12 f0 0 332.2 moveto
+(etc. The others can be used to highlight text. An example of how inline formatting commands may be) show
+12 f0 0 318.9 moveto
+(used, follows:) show
+10 f4 0 295 moveto
+( // = ASSERTIONS) show
+10 f4 0 274 moveto
+( // Assertion checks can be placed into code using) show
+10 f4 0 253 moveto
+( // the <OTCLIB_ASSERT\(\)> macro. Note that you should) show
+10 f4 0 232 moveto
+( // <[NOT]> use an expression in the condition check,) show
+10 f4 0 211 moveto
+( // which has a side effect, the result of which is) show
+10 f4 0 190 moveto
+( // necessary for the correct operation of the) show
+10 f4 0 169 moveto
+( // program. The reason for this, is that assertions) show
+10 f4 0 148 moveto
+( // can be compiled out of your code by defining the) show
+10 f4 0 127 moveto
+( // <NDEBUG> symbol.) show
+12 f0 0 103.3 moveto
+(Since `<`, and `>' are special characters, you must prefix them with a `\\' if the actual character needs to) show
+12 f0 0 90 moveto
+(printed. For example:) show
+pagelevel restore
+showpage
+%%Page: 6 6
+%%BeginPageSetup
+/pagelevel save def
+54 0 translate
+%%EndPageSetup
+newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
+10 f4 0 711.9 moveto
+( <operator\\<\(\)>) show
+12 f0 0 688.2 moveto
+(If `{`, `}', `[` or `]' appear adjacent to either `<` or `>' in the forms described above, they will also need) show
+12 f0 0 674.9 moveto
+(to be prefixed with a `\\'. For example:) show
+10 f4 0 651 moveto
+( <\\[A-Za-z_]*>) show
+18 f1 0 621.2 moveto
+(5 Class Sections) show
+12 f0 0 593.3 moveto
+(Sections pertaining to a class, are placed in the class declaration before the initial opening brace. For) show
+12 f0 0 580 moveto
+(example:) show
+10 f4 0 556.1 moveto
+( template<class T>) show
+10 f4 0 535.1 moveto
+( class OTC_List : public OTC_Collection<T>) show
+10 f4 0 514.1 moveto
+( // = SECTION NAME) show
+10 f4 0 493.1 moveto
+( // Body text.) show
+10 f4 0 472.1 moveto
+( {) show
+10 f4 0 451.1 moveto
+( ...) show
+10 f4 0 430.1 moveto
+( };) show
+12 f0 0 406.4 moveto
+(These sections will only appear in the manual page for that class. Sections appearing with a class, which) show
+12 f0 0 393.1 moveto
+(are given special treatment in the manual page are:) show
+10 f4 0 369.2 moveto
+(-----------------------------------------------------------------------------) show
+10 f5 0 358.7 moveto
+(Section) show
+10 f4 42 358.7 moveto
+( ) show
+10 f5 78 358.7 moveto
+(Description) show
+10 f4 144 358.7 moveto
+( ) show
+10 f4 0 348.2 moveto
+(-----------------------------------------------------------------------------) show
+10 f4 0 337.7 moveto
+(TITLE A one line description of the class. This will be used in the ) show
+10 f4 0 327.2 moveto
+( `NAME' section of the manual page. ) show
+10 f4 0 316.7 moveto
+(CLASS TYPE The type of class. For example: Abstract or Concrete. ) show
+10 f4 0 306.2 moveto
+(AUDIENCE Who may use the class. For example, the class may only be ) show
+10 f4 0 295.7 moveto
+( of interest to the class librarian. ) show
+10 f4 0 285.2 moveto
+(DESCRIPTION A description of the class. ) show
+10 f4 0 274.7 moveto
+(NOTES Any special features, unimplemented but desirable features, ) show
+10 f4 0 264.2 moveto
+( side effects, or known bugs. ) show
+10 f4 0 253.7 moveto
+(SEE ALSO References to any associated documents, systems or classes. ) show
+10 f4 0 243.2 moveto
+( If listed separately on each line, no comma should be used at ) show
+10 f4 0 232.7 moveto
+( the end of the line. If more than one appears on a single line, ) show
+10 f4 0 222.2 moveto
+( a comma should be used to separate them. ) show
+10 f4 0 211.7 moveto
+(EXAMPLE If realistic, a brief example of how the class may be used. ) show
+10 f4 0 201.2 moveto
+( Copious examples should not be included here, but should be ) show
+10 f4 0 190.7 moveto
+( described in a separate user guide. ) show
+10 f4 0 180.2 moveto
+(-----------------------------------------------------------------------------) show
+18 f1 0 150.4 moveto
+(6 Member Documentation) show
+12 f0 0 122.5 moveto
+(Documentation for member variables and member functions do not have to be tagged, as has been the) show
+12 f0 0 109.2 moveto
+(case so far. It does however have to be put in a certain place with respect to the member variable or) show
+12 f0 0 95.9 moveto
+(function declaration. The locations, where comments related to a member function or variable can be) show
+12 f0 0 82.6 moveto
+(placed, are on the same line as the declaration following the semi-colon,) show
+pagelevel restore
+showpage
+%%Page: 7 7
+%%BeginPageSetup
+/pagelevel save def
+54 0 translate
+%%EndPageSetup
+newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
+10 f4 0 706.7 moveto
+( void func1\(\); // Comment) show
+10 f4 0 685.7 moveto
+( void func2\(\); // Comment) show
+12 f0 0 662 moveto
+(or on the line immediately following the declaration.) show
+10 f4 0 638.1 moveto
+( void func1\(\);) show
+10 f4 0 617.1 moveto
+( // Comment) show
+10 f4 0 585.6 moveto
+( void func2\(\);) show
+10 f4 0 564.6 moveto
+( // Comment) show
+12 f0 0 540.9 moveto
+(The comment may extend over more than one line. A comment for a particular member variable or) show
+12 f0 0 527.6 moveto
+(function will be terminated by any line which doesn't contain only a comment. A comment will only be) show
+12 f0 0 514.3 moveto
+(associated with the declaration which immediately preceeds it. For example:) show
+10 f4 0 490.4 moveto
+( void func1\(\);) show
+10 f4 0 469.4 moveto
+( void func2\(\);) show
+10 f4 0 448.4 moveto
+( // Comment) show
+12 f0 0 424.7 moveto
+(the comment is associated with func2\(\) only and not func1\(\).) show
+12 f0 0 398.1 moveto
+(If a member function is defined inline, the comment must be placed after the code. For example:) show
+10 f4 0 374.2 moveto
+( void func1\(\) { ... }) show
+10 f4 0 353.2 moveto
+( // Comment) show
+10 f4 0 321.7 moveto
+( void func2\(\)) show
+10 f4 0 300.7 moveto
+( { ... }) show
+10 f4 0 279.7 moveto
+( // Comment) show
+12 f0 0 256 moveto
+(A limitation of the extraction tools, currently requires that you do not place comments, or blank lines,) show
+12 f0 0 242.7 moveto
+(within the body of the inline code.) show
+18 f1 0 210 moveto
+(7 Contract Section) show
+12 f0 0 182.1 moveto
+(Contracts allow grouping of related member functions and variables. This) show
+12 f0 0 155.5 moveto
+(makes it easier to find a function which serves the purpose you require.) show
+12 f0 0 128.9 moveto
+(A contract is a grouping of operations which fulfill a responsibility of the class. Contracts could include:) show
+18.1 106.4 moveto
+3.3 3.3 c fill
+12 f0 28 102.3 moveto
+(Initialisation of the class.) show
+18.1 93.1 moveto
+3.3 3.3 c fill
+12 f0 28 89 moveto
+(Destruction of the class.) show
+18.1 79.8 moveto
+3.3 3.3 c fill
+12 f0 28 75.7 moveto
+(The ability to insert items into, or modify a particular aspect of a class.) show
+pagelevel restore
+showpage
+%%Page: 8 8
+%%BeginPageSetup
+/pagelevel save def
+54 0 translate
+%%EndPageSetup
+newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
+18.1 713.3 moveto
+3.3 3.3 c fill
+12 f0 28 709.2 moveto
+(The ability to make queries about a class or iterate over data it contains.) show
+12 f0 0 682.6 moveto
+(A contract section is started by placing a comment containing the section title, prior to the functions in) show
+12 f0 0 669.3 moveto
+(the class that are being grouped together. The list of functions in a contract is terminated by the) show
+12 f0 0 656 moveto
+(commencement of another contract, a new public, protected, or private section, or the end of the class.) show
+12 f0 0 629.4 moveto
+(If contract sections are used, only functions which appear under a contract section will appear in the) show
+12 f0 0 616.1 moveto
+(manual page. Functions which are not in a contract section are not displayed. If no contract sections are) show
+12 f0 0 602.8 moveto
+(used, two default contract sections, with labels `PROTECTED MEMBERS' and `PUBLIC) show
+12 f0 0 589.5 moveto
+(MEMBERS', will be created.) show
+12 f0 0 562.9 moveto
+(An example of a class using contracts is:) show
+10 f4 0 539 moveto
+( class Class) show
+10 f4 0 518 moveto
+( // ...) show
+10 f4 0 497 moveto
+( {) show
+10 f4 0 476 moveto
+( public:) show
+10 f4 0 444.5 moveto
+( ~Class\(\);) show
+10 f4 0 423.5 moveto
+( // This will not appear in the) show
+10 f4 0 402.5 moveto
+( // manual page.) show
+10 f4 0 371 moveto
+( // = INITIALISATION) show
+10 f4 0 339.5 moveto
+( Class\(char const* theString\);) show
+10 f4 0 318.5 moveto
+( // This will appear in the manual) show
+10 f4 0 297.5 moveto
+( // page in section INITIALISATION.) show
+10 f4 0 276.5 moveto
+( //) show
+10 f4 0 255.5 moveto
+( // Inline formatting, for example:) show
+10 f4 0 234.5 moveto
+( // <theString>, may be used, as may) show
+10 f4 0 213.5 moveto
+( // block formatting commands.) show
+10 f4 0 182 moveto
+( // = QUERY) show
+10 f4 0 161 moveto
+( // As with all other sections, a contract) show
+10 f4 0 140 moveto
+( // section can have body text. This will appear) show
+10 f4 0 119 moveto
+( // in the manual page after the section name and) show
+10 f4 0 98 moveto
+( // before the functions are listed.) show
+pagelevel restore
+showpage
+%%Page: 9 9
+%%BeginPageSetup
+/pagelevel save def
+54 0 translate
+%%EndPageSetup
+newpath 0 72 moveto 504 0 rlineto 0 648 rlineto -504 0 rlineto closepath clip newpath
+10 f4 0 711.9 moveto
+( char const* string\(\);) show
+10 f4 0 680.4 moveto
+( // Extra information for the current contract may) show
+10 f4 0 659.4 moveto
+( // also be included between members. This is) show
+10 f4 0 638.4 moveto
+( // generally used where it is necessary to make a) show
+10 f4 0 617.4 moveto
+( // comment about a specific set of members in a) show
+10 f4 0 596.4 moveto
+( // contract.) show
+10 f4 0 564.9 moveto
+( OTC_Boolean isValid\(\) const;) show
+10 f4 0 543.9 moveto
+( };) show
+10 f4 0 522.9 moveto
+( ) show
+pagelevel restore
+showpage
+%%EOF