diff options
Diffstat (limited to 'bin/classinfo.ps')
-rwxr-xr-x | bin/classinfo.ps | 868 |
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 |