COMMENT(The following macros are used to define upcoming sections and files. Once they are available, simply remove the `c' to activate them) DEFINEMACRO(cincludefile)(1)() DEFINEMACRO(csect)(1)() DEFINEMACRO(csubsect)(1)() DEFINEMACRO(csubsubsect)(1)() DEFINEMACRO(rowfive)(5)(\ row(cell(ARG1)cell(ARG2)cell(ARG3)cell(ARG4)cell(ARG5))) INCLUDEFILE(version) SUBST(BSSP)(\ ) SUBST(MYEMAIL)(f.b.brokken@rug.nl) SUBST(MAILTO)(CHAR(109)ailto:MYEMAIL) SUBST(URLEMAIL)(url(email)(MAILTO)) SUBST(OPENPAR)(CHAR(40)) SUBST(CLOSEPAR)(CHAR(41)) SUBST(AFFILIATION)(\ Center of Information Technology,nl() University of Groningen nl()\ Nettelbosje 1,nl()\ P.O. Box 11044,nl()\ 9700 CA Groningen nl()\ The Netherlands nl()) COMMENT(This table is used when writing the LateX index) DEFINECHARTABLE(index)( '#' = "\\#" '&' = "\\&" '_' = "\\_" '^' = "\\^" '<' = "\\textless{}" '>' = "\\textgreater{}" ) setlatexfigureext(.eps) sethtmlfigureext(.gif) COMMENT(While converting figures to .jpg) IFDEF(html)(\ IFDEF(kindle) ( TYPEOUT(DEFINED KINDLE) htmlheadfile(cplusplus.kindle) ) ( TYPEOUT(KINDLE NOT DEFINED) htmlstylesheet(cplusplus.css) ) )() IFDEF(latex) (\ redef(XXsetlatexdocumentheader)(3)(\ IFEMPTY(ARG1) (\ NOTRANS(% no \title{..} info)\ ) (\ TYPEOUT(Document title: ARG1)\ NOTRANS(\title{)ARG1+CHAR(})\ ) XXnl()\ IFEMPTY(ARG2) (\ NOTRANS(% no \author{..} info)\ ) (\ NOTRANS(\author{)ARG2\ +XXifnempty(XXaffilstring) (\ nl()\ XXnl()\ SYMBOLVALUE(XXaffilstring)\ )\ CHAR(})\ )\ XXnl()\ IFEMPTY(ARG3) (\ NOTRANS(% no \date{..} info)\ ) (\ NOTRANS(\date{)ARG3+CHAR(})\ )\ XXnl()\ NOTRANS(\begin{document}) IFEMPTY(ARG1)\ (\ NOTRANS(% no \author{..}, no \maketitle required here)\ ) (\ NOTRANS(\maketitle\cleardoublepage)\ )\ XXnl()\ XXabstract()\ XXnl()\ IFEMPTY(ARG1) (\ NOTRANS(% no title, so no \maketitle) ) (\ XXsettitleclearpage()\ )\ XXnl()\ NOTRANS(\pagestyle{plain})\ XXnl()\ NOTRANS(\pagenumbering{roman})\ XXnl()\ XXtableofcontents()\ ATEXIT(\ NOTRANS(\end{document})\ XXnl()\ )\ )\ latexoptions(a4paper,twoside)\ latexpackage(latin1)(inputenc)\ latexpackage()(makeidx)\ COMMENT( latexpackage()(bookman)\ )\ latexpackage()(newcent)\ latexpackage()(epsf)\ latexpackage()(upquote)\ IFDEF(us)(\ latexpackage()(cplusplusus)\ )(\ latexpackage()(cplusplus)\ )\ makeindex()\ sloppyhfuzz(50)\ noxlatin()\ latexlayoutcmds(\setcounter{secnumdepth}{3})\ latexlayoutcmds(\pagestyle{empty})\ )() DEFINEMACRO(linebreak)(0)(\ IFDEF(latex)\ (NOTRANS(\linebreak ))\ ()) DEFINEMACRO(turl)(2)(\ IFDEF(html)\ (NOTRANS()ARG1+NOTRANS())\ (url(ARG1)(ARG2))) DEFINEMACRO(tlurl)(1)(\ IFDEF(html)\ (NOTRANS()ARG1+NOTRANS())\ (lurl(ARG1))) DEFINEMACRO(lshift)(0)(\ IFDEF(latex)(\ NOTRANS($<<$)\ )(\ <<\ )\ ) redefinemacro(verbinclude)(1)(\ COMMENT(IFDEF(latex)(SUBST(\"e)(\"CHAR(101)))())\ PIPETHROUGH(yodlverbinsert -N ARG1)()\ COMMENT(IFDEF(latex)(SUBST(\"e)(+latexcommand(\"{CHAR(101)})))())\ ) COMMENT( DO NOT USE TO ADD INDEX ENTRIES ) DEFINEMACRO(rshift)(0)(\ IFDEF(latex)(\ NOTRANS($>>$)\ )(\ >>\ )\ ) COMMENT( DO NOT USE TO ADD INDEX ENTRIES ) DEFINEMACRO(oplshift)(0)(\ tt(operator)\ IFDEF(latex)(\ NOTRANS($<<$)\ )(\ <<\ )\ ) COMMENT( DO NOT USE TO ADD INDEX ENTRIES ) DEFINEMACRO(oprshift)(0)(\ tt(operator)\ IFDEF(latex)(\ NOTRANS($>>$)\ )(\ >>\ )\ ) DEFINEMACRO(ttNoCt)(1)(PUSHCHARTABLE()ttbegin()ARG1+ttend()POPCHARTABLE()) DEFINEMACRO(hiNoCt)(1)(hix(ARG1)) DEFINECOUNTER(htmlAnchor)(0) DEFINEMACRO(annotations)(0)(\ bf(C++) Annotations\ ) COMMENT(Begin used by threading/time.yo) DEFINEMACRO(nbsp)(0)(\ IFDEF(html) (NOTRANS( ))(\ IFDEF(latex)(NOTRANS(~))(\ NOTRANS( )))) DEFINEMACRO(xcell)(1)(\ IFDEF(html)(NOTRANS()\ bf(ARG1)NOTRANS())\ (cells(3)(ARG1))) DEFINEMACRO(vlcell)(1)(\ IFDEF(html)(NOTRANS()\ ARG1+NOTRANS())\ (cell(ARG1))) DEFINEMACRO(vrcell)(1)(\ IFDEF(html)(NOTRANS()\ ARG1+NOTRANS())\ (cell(ARG1))) DEFINEMACRO(vcell)(1)(\ IFDEF(html)(NOTRANS()\ ARG1+NOTRANS())(cell(ARG1))) DEFINEMACRO(rcell)(1)(\ IFDEF(html)(NOTRANS()\ ARG1+NOTRANS())(cell(ARG1))) DEFINEMACRO(lcell)(1)(\ IFDEF(html)(NOTRANS() ARG1+NOTRANS())(cell(ARG1))) DEFINEMACRO(rowthree)(3)(\ row(vrcell(%ARG1)cell(nbsp())vlcell(ARG2)cell(nbsp()nbsp())vlcell(ARG3))\ ) COMMENT(End used by threading/time.yo) def(x)(1)(IFDEF(html)(NOTRANS())()ARG1) def(linkit)(2)(it()link(Chapter )(ARG1)ref(ARG1)link(: ARG2.)(ARG1)) def(itt)(1)(it()tt(ARG1)) def(rangett)(1)(tt(CHAR(91)ARG1+CHAR(41))) def(endOfFile)(1)(tt(CHAR(69)CHAR(79)CHAR(70))) def(c)(1)(COMMENT(ARG1)) def(hix)(1)(\ IFDEF(html)(\ label(an+USECOUNTER(htmlAnchor))\ NOTRANS( )\ )(\ IFDEF(latex)(\ PUSHCHARTABLE(index)\ NOTRANS(\index{)\ ARG1\ +NOTRANS(})\ POPCHARTABLE()\ )()\ )\ ) def(hi)(1)(hix(ARG1)) def(i)(1)(hix(ARG1)ARG1) def(tthi)(1)(hix(ARG1: header file)tt()) def(ti)(1)(hix(ARG1)tt(ARG1)) def(bi)(1)(hix(ARG1)bf(ARG1)) def(emi)(1)(hix(ARG1)em(ARG1)) def(ithi)(1)(it()hi(ARG1: header file)tt()) def(iti)(1)(it()ti(ARG1)) def(rangeti)(1)(ti(CHAR(91)ARG1+CHAR(41))) def(itht)(2)(it()hix(ARG1)tt(ARG2)) def(ittq)(2)(it()tt(ARG1):quote(ARG2)) def(ithtq)(3)(it()hix(ARG1)tt(ARG2):quote(ARG3)) def(cellq)(0)(cell(IFDEF(latex)()(quote()))) DEFINEMACRO(cXVII)(0)(\ i(C++17)\ ) IFDEF(html)(\ redef(XXsubsubsect)(1)(\ XXtocentry(sssect SYMBOLVALUE(XXlastnumber): ARG1)\ NOTRANS(

)\ SYMBOLVALUE(XXlastnumber): ARG1\ +NOTRANS(

)\ )\ redef(subsubsubsect)(1) ( NOTRANS(
)\ ARG1\ +NOTRANS(

)\ ) )()