From 09ea8d27e2e3c6ea4a0ea27f3abadb82e1e7f0a1 Mon Sep 17 00:00:00 2001 From: Dave Abrahams Date: Mon, 24 Nov 2003 05:02:46 +0000 Subject: [PATCH] Documentation updates, added GNUMakefile for building [SVN r20931] --- doc/GNUmakefile | 232 +++++++++++ doc/counting_iterator.html | 207 +++++++++- doc/facade-and-adaptor.html | 664 +++++++++++++++++------------- doc/facade-and-adaptor.rst | 87 ++-- doc/filter_iterator.html | 208 +++++++++- doc/function_output_iterator.html | 197 ++++++++- doc/index.html | 328 ++++++++++++--- doc/index.rst | 98 +++-- doc/indirect_iterator.html | 213 +++++++++- doc/iterator_adaptor.html | 340 +++++++++++---- doc/iterator_adaptor_abstract.rst | 10 +- doc/iterator_adaptor_body.rst | 10 +- doc/iterator_adaptor_ref.rst | 104 +++-- doc/iterator_facade.html | 492 ++++++++++++++++------ doc/iterator_facade.rst | 2 + doc/iterator_facade_body.rst | 23 +- doc/iterator_facade_ref.rst | 315 +++++++------- doc/new-iter-concepts.html | 276 ++++--------- doc/new-iter-concepts.rst | 263 ++++-------- doc/permutation_iterator.html | 198 ++++++++- doc/style.tex | 77 +--- 21 files changed, 3074 insertions(+), 1270 deletions(-) create mode 100755 doc/GNUmakefile diff --git a/doc/GNUmakefile b/doc/GNUmakefile new file mode 100755 index 0000000..a536710 --- /dev/null +++ b/doc/GNUmakefile @@ -0,0 +1,232 @@ +# GNUmakefile for postprocessing PDF files +# +# © 2000 IBM Corporation. +# Licensed under the GNU GPL. + +######################################################################## +# Make sure that the following macros are correct for your setup +######################################################################## +# ... System utilities +RMRF = /bin/rm -rf +MV = /bin/mv +EGREP = /bin/egrep +ECHO = /bin/echo +PERL = /usr/bin/perl +CAT = /bin/cat +TOUCH = /bin/touch +ZIP = /usr/bin/zip + +# ... TeX & postprocessors +PPOWER4 = ppower4 +PDFLATEX = pdflatex +METAPOST = mpost +FIG2DEV = fig2dev +BIBTEX = bibtex +FOLIAGECUTTER = foliageCutter --verbose +RST2LATEX = rst2latex --documentclass book --documentoptions 10pt,twoside,pdftex # --use-latex-toc +RST2HTML = rst2html + +TEX = latex +export TEX +######################################################################## +# End of user servicable parts; don't fiddle with the remainder of this +# makefile unless you know what you do. +# +# You have been warned ;=) +######################################################################## + +# ... Variables +TEXFILES = $(strip $(wildcard *.tex)) +RSTFILES = $(strip $(wildcard *.rst)) +-include GNUmakefile.local +TEXSTEMS = $(strip $(patsubst %.tex,%,${TEXFILES})) +RSTSTEMS = $(strip $(patsubst %.rst,%,${RSTFILES})) +CUTFOILS = $(strip $(patsubst %,%---toc.tex,${TEXSTEMS})) +PDFFILES = $(strip $(patsubst %.tex,%.pdf,${TEXFILES})) +PRINTS = $(patsubst %.pdf,%-print.pdf,${PDFFILES}) +PRINTZIP = prints.zip +SLIDEZIP = slides.zip + +# ... Depend +DEPENDFILE = .depend +GENFILE = .generated + +# ... List of extensions and files generated +texcrap = *.mpx *.log *.aux *.blg *-print.brf *-print.tex *.out + +mpxcrap = mpxerr.tex mpxerr.pdf + +generated = *.out *.[0-9] *.[0-9][0-9] *.bbl *.brf \ + *.mp *.mmp *.pdf .depend *.ps TMP-*.pdf *.ftoc\ + ${PRINTZIP} ${SLIDEZIP} ${GENFILE} ${DEPENDFILE} \ + ${texcrap} ${mpxcrap} ${CUTFOILS} $(strip $(wildcard *---*.tex)) + + +# ... canned command to run PDFLaTeX +define run-pdflatex +@${ECHO} "" +@${ECHO} "---- Running PDFLaTeX on $<" && ${PDFLATEX} $< +@${ECHO} "---- Running PDFLaTeX on $< again" && ${PDFLATEX} $< +-@(${EGREP} -qi 'Rerun to get' $*.log && \ + ${ECHO} "---- Rerunning PDFLaTeX on $* to get cross-refs right" && \ + ${PDFLATEX} $<) || \ + ${ECHO} "---- No cross-refs correcting PDFLaTeX rerun required for $*" +-@(${EGREP} -qi $*.ftoc $*.log && \ + ${ECHO} "---- Rerunning PDFLaTeX on $* for FTOC" && \ + ${PDFLATEX} $<) || \ + ${ECHO} "---- No FTOC PDFLaTeX run required for $*" +-@(${EGREP} -qi 'Warning: Citation' $*.log && \ + ${ECHO} "---- Running BIBTeX on $*" && \ + ${BIBTEX} $* && \ + ${ECHO} "---- Running PDFLaTeX on $<" && \ + ${PDFLATEX} $<) || \ + ${ECHO} "---- No BIBTeX run required for $*" +-@(${EGREP} -qi 'Warning: .+undefined references' $*.log && \ + ${ECHO} "---- Running PDFLaTeX on $<" && \ + ${PDFLATEX} $<) || \ + ${ECHO} "---- No further PDFLaTex run required for $<" +@${ECHO} "Generated: $@ {$<}" >> ${GENFILE} +@${RMRF} ${texcrap} +endef + +# ... canned command to run PDFLaTeX for printable versions +define run-pdflatex-for-print +@${ECHO} "" +@${ECHO} "---- Running PDFLaTeX on $*-print.tex" && ${PDFLATEX} $*-print.tex +@${ECHO} "---- Running PDFLaTeX on $< again" && ${PDFLATEX} $< +-@(${EGREP} -qi 'Warning: Citation' $*-print.log && \ + ${ECHO} "---- Running BIBTeX on $*-print" && \ + ${BIBTEX} $*-print && \ + ${ECHO} "---- Running PDFLaTeX on $*-print.tex" && \ + ${PDFLATEX} $*-print.tex) || \ + ${ECHO} "---- No BIBTeX run required for $*" +-@(${EGREP} -qi 'Warning: .+undefined references' $*-print.log && \ + ${ECHO} "---- Running PDFLaTeX on $*-print" && \ + ${PDFLATEX} $*-print.tex) || \ + ${ECHO} "---- No further PDFLaTex run required for $*-print" +@${ECHO} "Generated: $@ {$<}" >> ${GENFILE} +@${RMRF} ${texcrap} +endef + +# DWA begin modifications +# ... Rule: How to generate TeX from ReST +%.tex: %.txt + @${ECHO} "---- Running rst2latex on $<" + ${RST2LATEX} $< $@ + @${ECHO} "Generated: $@ {$<}" >> ${GENFILE} + +# ... Rule: How to generate TeX from ReST +%.tex: %.rst + @${ECHO} "---- Running rst2latex on $<" + ${RST2LATEX} $< $@ + @${ECHO} "Generated: $@ {$<}" >> ${GENFILE} + +# ... Rule: How to generate HTML from ReST +%.html: %.txt + @${ECHO} "---- Running rst2html on $<" + ${RST2HTML} $< $@ + @${ECHO} "Generated: $@ {$<}" >> ${GENFILE} + +# ... Rule: How to generate HTML from ReST +%.html: %.rst + @${ECHO} "---- Running rst2html on $<" + ${RST2HTML} $< $@ + @${ECHO} "Generated: $@ {$<}" >> ${GENFILE} +# DWA end modifications + +# ... Rule: How to generate PDF from TeX +%.pdf: %.tex + $(run-pdflatex) + @${MV} $@ TMP-$@ + @${ECHO} "---- Running PPower4 on $*" + ${PPOWER4} -v TMP-$@ $@ + @${RMRF} TMP-$@ + @${ECHO} "Postprocessed: $*.pdf {$*.pdf}" >> ${GENFILE} + +# ... Rule: How to generate printable PDF from TeX +%-print.pdf: %.tex + ${PERL} -pe 's/^\\documentclass\[(.*?)\]/\\documentclass\[$$1,prints\]/;' < $< > $*-print.tex + $(run-pdflatex-for-print) + @${ECHO} "Generated: $*-print.pdf {$*.pdf}" >> ${GENFILE} + +# ... Rule: How to generate cut foils from TeX master +%---toc.tex: %.tex + ${FOLIAGECUTTER} --prefix=$* $< + +# ... Rule: How to generate MetaPost from FIG +%.mp: %.fig + @${ECHO} "---- Running Fig2Dev (mp) on $<" + ${FIG2DEV} -L mp $< $@ + @${ECHO} "Generated: $@ {$<}" >> ${GENFILE} + +# ... Rule: How to generate MultiMetaPost from FIG +%.mmp: %.fig + @${ECHO} "---- Running Fig2Dev (mmp) on $<" + ${FIG2DEV} -L mmp $< $@ + @${ECHO} "Generated: $@ {$<}" >> ${GENFILE} + +# ... Rule: How to generate includable PS from FIG via MetaPost +%.mps: %.fig + @${ECHO} "---- Running Fig2Dev (mps) on $<" + ${FIG2DEV} -L mp $< $*.mps.mp + @${RMRF} $*.mps.[0-9] + ${METAPOST} $*.mps.mp + @${MV} $*.mps.0 $@ + @${ECHO} "Generated: $@ {$<}" >> ${GENFILE} + +# ... Rule: How to generate includable PS files from MultiMetaPost +%.0: %.mmp + @${ECHO} "---- Running MetaPost on $<" + @${RMRF} $*.[0-9] $*.[0-9][0-9] + ${METAPOST} $< + @${ECHO} "Generated: $*.0{...} {$<}" >> ${GENFILE} + +cleanup-crap: + @${RMRF} ${mpxcrap} + +# ... Target: all +all: cleanup-crap .depend ${PDFFILES} ${PRINTS} ${PRINTZIP} ${SLIDEZIP} + @${ECHO} "" + @${TOUCH} ${GENFILE} + @${CAT} ${GENFILE} + @${RMRF} ${GENFILE} + +# ... Target: ZIP files +zip zips: ${PRINTZIP} ${SLIDEZIP} + +# ... Target: ZIP file containing printable versions of slides +${PRINTZIP}: .depend ${PDFFILES} + @${RMRF} ${PRINTZIP} + ${ZIP} -r ${PRINTZIP} ${PRINTS} + @${ECHO} "Generated: ${PRINTZIP}" >> ${GENFILE} + +# ... Target: ZIP file containing screen versions of slides + ${SLIDEZIP}: .depend ${PDFFILES} + @${RMRF} ${SLIDEZIP} + ${ZIP} -r ${SLIDEZIP} ${PDFFILES} + @${ECHO} "Generated: ${SLIDEZIP}" >> ${GENFILE} + +# ... Target: clean up +clean: + ${RMRF} ${generated} + +# ... Target: create dependencies +depend: .depend + +# ... Target: dependency file (parse TEXFILES for multiinclude and includegraphics) +.depend: GNUmakefile ${TEXFILES} + ${RMRF} $@ + @for t in ${TEXSTEMS} ; do \ + ${ECHO} "Scanning $$t.tex"; \ + ${PERL} -e 'my $$target = shift @ARGV;' -e 'while (<>) { /\\multiinclude(\[.*?\])?{(.*?)}/ && print "$$target: $$2.0\n";}' $$t.pdf < $$t.tex >> $@; \ + ${PERL} -e 'my $$target = shift @ARGV;' -e 'while (<>) { /\\includegraphics(\[.*?\])?{(.*?)\.(.*?)}/ && print "$$target: $$2.$$3\n";}' $$t.pdf < $$t.tex >> $@; \ + done + @for t in ${RSTSTEMS} ; do \ + ${ECHO} "Scanning $$t.rst"; \ + ${PERL} -e 'my $$target = shift @ARGV;' -e 'while (<>) { /^\.\. include::\s+(.*)/ && print "$$target: $$1\n";}' $$t.html < $$t.rst >> $@; \ + ${PERL} -e 'my $$target = shift @ARGV;' -e 'while (<>) { /^\.\. include::\s+(.*)/ && print "$$target: $$1\n";}' $$t.tex < $$t.rst >> $@; \ + done + + +# ... include dependency file +-include .depend diff --git a/doc/counting_iterator.html b/doc/counting_iterator.html index c5390c2..15fc046 100644 --- a/doc/counting_iterator.html +++ b/doc/counting_iterator.html @@ -9,7 +9,198 @@ - +
@@ -52,13 +243,19 @@ the base m_iterator, as per th
-template <class Incrementable, class Category = use_default, class Difference = use_default>
+template <
+    class Incrementable
+  , unsigned Access = use_default_access
+  , class Traversal = use_default
+  , class Difference = use_default
+>
 class counting_iterator
   : public iterator_adaptor<
-        counting_iterator<Incrementable, Category, Difference>
+        counting_iterator<Incrementable, Access, Traversal, Difference>
       , Incrementable
       , Incrementable
-      , /* see details for category */
+      , Access
+      , /* see details for traversal category */
       , Incrementable const&
       , Incrementable const*
       , /* distance = Difference or a signed integral type */>
@@ -143,7 +340,7 @@ object copy constructed from x
 
 
 
diff --git a/doc/facade-and-adaptor.html b/doc/facade-and-adaptor.html
index 49efb2e..a8f2a09 100755
--- a/doc/facade-and-adaptor.html
+++ b/doc/facade-and-adaptor.html
@@ -8,7 +8,6 @@
 
 
 
-
 
 
 
 
@@ -97,12 +288,13 @@ class filter_iterator

filter_iterator requirements

-

The base Iterator parameter must be a model of Readable Iterator -and Single Pass Iterator. The resulting filter_iterator will be a -model of Forward Traversal Iterator if Iterator is, otherwise the -filter_iterator will be a model of Single Pass Iterator. The -access category of the filter_iterator will be the most refined -standard access category that is modeled by Iterator.

+

The base Iterator parameter must be a model of Readable +Iterator and Single Pass Iterator. The resulting +filter_iterator will be a model of Forward Traversal Iterator +if Iterator is, otherwise the filter_iterator will be a +model of Single Pass Iterator. The access category of the +filter_iterator will be the same as the access category of +Iterator.

The Predicate must be Assignable, Copy Constructible, and the @@ -189,7 +381,7 @@ filter_iterator(

diff --git a/doc/function_output_iterator.html b/doc/function_output_iterator.html index 90e2d2f..8af8f32 100644 --- a/doc/function_output_iterator.html +++ b/doc/function_output_iterator.html @@ -9,7 +9,198 @@ - +
@@ -60,7 +251,7 @@ template <class UnaryFunction> class function_output_iterator { public: typedef iterator_tag< - writable_iterator_tag + writable_iterator , incrementable_traversal_tag > iterator_category; typedef void value_type; @@ -158,7 +349,7 @@ return *this; diff --git a/doc/index.html b/doc/index.html index 3dfe4a0..b3a3a14 100755 --- a/doc/index.html +++ b/doc/index.html @@ -4,12 +4,203 @@ -The Boost Iterator Library Boost - +The Boost.Iterator Library Boost +