mirror of
https://github.com/boostorg/more.git
synced 2025-01-27 04:30:05 +08:00
Initial creation of Writing Documentation
[SVN r12765]
This commit is contained in:
parent
585d1f6024
commit
78eb633b3b
379
writingdoc/design.html
Normal file
379
writingdoc/design.html
Normal file
@ -0,0 +1,379 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../libs/boost.css">
|
||||
<title>Writing Documentation for Boost - HTML Design</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="index.htm"><img height="86" width="277" alt="C++ Boost" src="../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">Writing Documentation for Boost</h1>
|
||||
<h2 align="center">HTML Design</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#introduction">Introduction</a></dt>
|
||||
<dt><a href="#common-pages">Common Pages Included in HTML Documentation</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#index-page">Index</a></dt>
|
||||
<dt><a href="#overview-page">Overview</a></dt>
|
||||
<dt><a href="#definitions-page">Definitions</a></dt>
|
||||
<dt><a href="#rationale-page">Rationale</a></dt>
|
||||
<dt><a href="#configuration-page">Configuration Information</a></dt>
|
||||
<dt><a href="#faq-page">Frequently Asked Questions</a></dt>
|
||||
<dt><a href="#bibliography-page">Bibliography</a></dt>
|
||||
<dt><a href="#acknowledgements-page">Acknowledgment</a></dt>
|
||||
<dt><a href="#header-page">Header Reference</a></dt>
|
||||
</dl>
|
||||
<dt><a href="#layout">Layout</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#page-banner">Page Banner</a></dt>
|
||||
<dt><a href="#page-index">Page Index</a></dt>
|
||||
<dt><a href="#content">Documentation Content</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#doc-footnotes">Footnotes</a></dt>
|
||||
</dl>
|
||||
<dt><a href="#revision-info">Revision Information</a></dt>
|
||||
<dt><a href="#copyright">Copyright Information</a></dt>
|
||||
</dl>
|
||||
<dt><a href="#format">Format</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#style-sheets">Cascading Style Sheets</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#boost-style-sheet">Boost Style Sheet</a></dt>
|
||||
</dl>
|
||||
</dl>
|
||||
<dt><a href="#templates">Templates</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#index-template">Index Page Template</a></dt>
|
||||
<dt><a href="#overview-template">Overview Page Template</a></dt>
|
||||
<dt><a href="#definitions-template">Definitions Page Template</a></dt>
|
||||
<dt><a href="#rationale-template">Rationale Page Template</a></dt>
|
||||
<dt><a href="#configuration-template">Configuration Page Template</a></dt>
|
||||
<dt><a href="#faq-template">FAQ (Frequently Asked Questions) Page Template</a></dt>
|
||||
<dt><a href="#bibliography-template">Bibliography Page Template</a></dt>
|
||||
<dt><a href="#acknowledgements-template">Acknowledgments Page Template</a></dt>
|
||||
<dt><a href="#header-template">Header Page Template</a></dt>
|
||||
</dl>
|
||||
</dl>
|
||||
<h2><a name="introduction"></a>Introduction</h2>
|
||||
<p>Boost places no requirements on the design of HTML documentation for library
|
||||
submitters. If you are submitting a library for which documentation already
|
||||
exists in either HTML or in a form easily converted to HTML then there is no
|
||||
need for you to read this document. However, if you have not yet written the
|
||||
documentation, or if you expect to have to translate documentation written in
|
||||
a format not easily convertible to HTML then this document can give you a lot
|
||||
of information on how to go about writing documentation in HTML.</p>
|
||||
<p>In several places this document assumes you're writing the documentation to
|
||||
conform to the structure described in the <a href="structure.html">Documentation
|
||||
Structure</a> document. There is no requirement that your documentation content
|
||||
follow these guidelines, but they provide an effective way to communicate technical
|
||||
specifications for a library in a terse yet precise manner that's familiar to
|
||||
many Boost users.</p>
|
||||
<p>This document also contains links to <a href="#templates">HTML template files</a>
|
||||
that can be used to rapidly develop documentation for a library submission.
|
||||
These templates follow the guidelines presented here and in the <a href="structure.html">Documentation
|
||||
Structure</a> document.</p>
|
||||
<h2><a name="common-pages"></a>Common Pages Included in HTML Documentation</h2>
|
||||
<p>Most HTML documentation projects will contain some common pages. General guidelines
|
||||
for these common pages are provided below.</p>
|
||||
<h3><a name="index-page"></a>Index</h3>
|
||||
<p>The index page is the first page presented to a user when he browses the documentation.
|
||||
Generally this page should not contain any actual content, but instead contains
|
||||
a list of links to specific content. At a minimum this list should contain a
|
||||
link to every HTML page contained in the documentation. Optionally, sub-lists
|
||||
may be provided for individual pages linking to specific subjects within the
|
||||
page. These sub-lists should form a "tree" hierarchy based on the
|
||||
level of heading tag used for the specific subject. Inclusion of such sub-lists
|
||||
for every page can make the index rather lengthy, and since each page should
|
||||
include its own <a href="#page-index">Page Index</a>, it may make the navigation
|
||||
of the documentation easier if such sub-lists are avoided. However, there is
|
||||
one exception to this guideline: reference documentation should contain a link
|
||||
to every header file in the library and a sub-list with a link to every macro,
|
||||
value, type, class, function and object (see <a href="structure.html">Documentation
|
||||
Structure</a>) found in the header. Users aren't always sure what header file
|
||||
any of these may be contained in, so this structure in the index allows for
|
||||
easy navigation of the reference documentation.</p>
|
||||
<p>The index list should generally be constructed using an HTML "definition
|
||||
list" (<dl> and <dt> tags). A definition list has no bullets
|
||||
or ordered specifications and produces a cleaner layout then an unordered list
|
||||
(<ul> and <li> tags) or an ordered list (<ol> and <li>
|
||||
tags). If you choose to use the common <a href="#boost-style-sheet">Boost Style
|
||||
Sheet</a> you should add a <code>class="index"</code> attribute/value pair to
|
||||
the <dl> tag.</p>
|
||||
<p>An Index page <a href="#index-template">template</a> is provided for use.</p>
|
||||
<h3><a name="overview-page"></a>Overview</h3>
|
||||
<p>The Overview page is used to introduce the reader to the library. It should
|
||||
give a high-level overview of the purpose of the library and introduce the reader
|
||||
to any concepts they may be unfamiliar with. This may also be an appropriate
|
||||
place for some "light" rationale, though more thorough presentation
|
||||
of any rationale would be better placed in the <a href="#rationale-page">Rational
|
||||
Page</a>.</p>
|
||||
<p>Like most content pages, the Overview page should include a <a href="#page-index">Page
|
||||
Index</a>.</p>
|
||||
<p>An Overview page <a href="#overview-template">template</a> is provided for
|
||||
use.</p>
|
||||
<h3><a name="definitions-page"></a>Definitions</h3>
|
||||
<p>The Definitions page is used to provide a list of definitions for terms that
|
||||
a user may be unfamiliar with.</p>
|
||||
<p>The definition list should generally be constructed using an HTML "definition
|
||||
list" (<dl> and <DT> tags). A definition list has no bullets
|
||||
or ordered specifications and produces a cleaner layout then an unordered list
|
||||
(<UL> and <li> tags) or an ordered list (<ol> and <li>
|
||||
tags). If you choose to use the common <a href="#boost-style-sheet">Boost Style
|
||||
Sheet</a> you should add a <code>class="definition"</code> attribute/value pair
|
||||
to the <dl> tag.</p>
|
||||
<p>Because this page's content should only contain a list of definitions, it should
|
||||
not have a <a href="#page-index">Page Index</a>.</p>
|
||||
<p></p>
|
||||
<p> A Definitions page <a href="#definitions-template">template</a> is provided
|
||||
for use.</p>
|
||||
<h3><a name="rationale-page"></a>Rationale</h3>
|
||||
<p>The Rationale page is used to provide lengthy descriptions of the rationale
|
||||
behind the library's design. This information helps users to understand why
|
||||
a library was designed the way it was and may reduce the frequency of a number
|
||||
of frequently asked questions. For a better description of why rationale is
|
||||
important see the <a href="http://www.boost.org/more/lib_guide.htm#Rationale">Rationale
|
||||
rationale</a> in the general submission guidelines.</p>
|
||||
<p>Like most content pages, the Rationale page should include a <a href="#page-index">Page
|
||||
Index</a>.</p>
|
||||
<p></p>
|
||||
<p>A Rationale page <a href="#rationale-template">template</a> is provided for
|
||||
use.</p>
|
||||
<h3><a name="configuration-page"></a>Configuration Information</h3>
|
||||
<p>The Configuration Information page is used to document configuration macros
|
||||
used by the library. Such macros belong in one of three groups: macros used
|
||||
by library implenters defined in <code><boost/config.hpp></code>, macros
|
||||
used by library users to detect platform configuration information and macros
|
||||
defined by library users to configure library behavior.</p>
|
||||
<p>Like most content pages, the Overview page should include a <a href="#page-index">Page
|
||||
Index</a>.</p>
|
||||
<p></p>
|
||||
<p>A Configuration page <a href="#configuration-template">template</a> is provided
|
||||
for use.</p>
|
||||
<h3><a name="faq-page"></a>Frequently Asked Questions</h3>
|
||||
<p>As a library matures the users will have questions about the usage of the library.
|
||||
Often users will ask the same questions over and over again. Rather than having
|
||||
to deal with answering the question every time it's asked, a Frequently Asked
|
||||
Questions (commonly known as FAQs) page can be used to document the questions
|
||||
and answers. This is such a valuable piece of documentation not only for the
|
||||
users but for the maintainers as well, that a FAQ page should be provided from
|
||||
the outset. If there are no questions that will obviously become a FAQ, the
|
||||
initial page may just indicate that there are no FAQs yet. This empty place
|
||||
holder helps to indicate to the users that you plan to address any FAQs as they
|
||||
occur.</p>
|
||||
<p>The <a href="#page-index">Page Index</a> for the FAQ page should contain a
|
||||
list of all the questions contained in the document. The actual question entries
|
||||
should be formatted with the question in a heading tag and the answers in standard
|
||||
paragraph format. This provides a clean presentation that's easy to read.</p>
|
||||
<p>A Frequently Asked Questions page <a href="#faq-template">template</a> is provided
|
||||
for use.</p>
|
||||
<h3><a name="bibliography-page"></a>Bibliography</h3>
|
||||
<p>The Bibliography page is used to document any bibliographical information associated
|
||||
with references made within the documentation to external resources. Parenthetical
|
||||
references are used within the documentation which link to entries in the Bibliography
|
||||
page. Bibliographical entries provide detailed information about the external
|
||||
resource and may contain hyper links to the resource if it's available online.
|
||||
There are several formal styles used for writing bibliographies. You may use
|
||||
what ever style you want, but one of the better styles to consider using can
|
||||
be referenced <a href="http://www.columbia.edu/cu/cup/cgos/idx_basic.html">here</a>.</p>
|
||||
<p>Since the Bibliography page should contain only bibliographical information
|
||||
there is no need for a <a href="#page-index">Page Index</a>.</p>
|
||||
<p>A Bibliography page <a href="#bibliography-template">template</a> is provided
|
||||
for use.</p>
|
||||
<h3><a name="acknowledgements-page"></a>Acknowledgment</h3>
|
||||
<p>The Acknowledgment page is used to give credit where credit is due. When individuals
|
||||
provide input on the design or implementation, or when you make use of someone
|
||||
else's work, you should acknowledge them. This is a courtesy that you'd expect
|
||||
others to extend to you, so you should strive to acknowledge the efforts of
|
||||
everyone else in your own documentation.</p>
|
||||
<p>Since the Acknowledgment page should contain only a list of acknowledgment
|
||||
there is no need for a <a href="#page-index">Page Index</a>.</p>
|
||||
<p>An Acknowledgments page <a href="#acknowledgements-template">template</a> is
|
||||
provided for use.</p>
|
||||
<h3><a name="header-page"></a>Header Reference</h3>
|
||||
<p>The Header Reference pages are the most important pages in your documentation.
|
||||
They document all library headers, including all the macros, values, types,
|
||||
classes, functions and objects defined in them. In general it may prove useful
|
||||
to follow the guidelines in <a href="structure.html">Documentation Structure</a>
|
||||
when writing the content for these pages.</p>
|
||||
<p>Like most content pages, the Header Reference pages should include a <a href="#page-index">Page
|
||||
Index</a>.</p>
|
||||
<p>A Header Reference page <a href="#header-template">template</a> is provided
|
||||
for use.</p>
|
||||
<h2><a name="layout"></a>Layout</h2>
|
||||
<p>There are certain page layout concepts that will be used frequently in many
|
||||
of your pages. This section outlines some general guidelines that you can follow
|
||||
when designing each of these layout concepts for your documentation.</p>
|
||||
<h3><a name="page-banner"></a>Page Banner</h3>
|
||||
<p>The Page Banner is located at the very top of a page and provides quick information
|
||||
about the page contents. This includes the Boost logo, which indicates to the
|
||||
reader that this page is part of the Boost web site, a title for the documentation
|
||||
(generally the library name) and the page title. The Boost logo should hyper
|
||||
link to the Boost home page on the index page and to the index page on all other
|
||||
pages. This allows the user to easily navigate through the Boost web site and
|
||||
through the documentation. The <title> tag for the HTML page should consist
|
||||
of the documentation title and the page title separated by a hyphen.</p>
|
||||
<p>The Page Banner should be separated from the rest of the page by the use of
|
||||
an <hr> tag. This helps to clearly separate the actual content from the
|
||||
title information and produces cleaner text.</p>
|
||||
<h3><a name="page-index"></a>Page Index</h3>
|
||||
<p>The page index is used to quickly navigate to the various sections of the documentation
|
||||
on the page, and when present should be located just below the Page Banner.</p>
|
||||
<p>The index list should generally be constructed using an HTML "definition
|
||||
list" (<dl> and <DT> tags). A definition list has no bullets
|
||||
or ordered specifications and produces a cleaner layout then an unordered list
|
||||
(<UL> and <li> tags) or an ordered list (<ol> and <li>
|
||||
tags). If you choose to use the Boost Style Sheet you should add a <code>class="page-index"</code>
|
||||
attribute/value pair to the <dl> tag.</p>
|
||||
<p>Most pages should include a Page Index.</p>
|
||||
<h3><a name="content"></a>Documentation Content</h3>
|
||||
<p>The page's actual documentation content will be formatted according to the
|
||||
specific needs of individual pages, and should be placed right after the Page
|
||||
Index if present, or after the Page Banner if not. In general the documentation
|
||||
content will take the form of paragraph text contained underneath section headings.</p>
|
||||
<h3><a name="doc-footnotes"></a>Footnotes</h3>
|
||||
<p>Footnotes may be used within a page's documentation. Within the documentation
|
||||
content a footnote reference should take the form of a footnote number in parentheses
|
||||
(the parentheses make it easier for the reader to click on the hyper link) hyper
|
||||
linking to the actual footnote at the bottom of the page's documentation content.
|
||||
You may either use the <sup> tag to format such footnote numbers, or,
|
||||
preferably, you can use a CSS style class in order to distinguish the number
|
||||
as a footnote instead of as part of the actual text. If you choose to use the
|
||||
common <a href="#boost-style-sheet">Boost Style Sheet</a>, a <code>footnote</code>
|
||||
class is defined for this purpose.</p>
|
||||
<h3><a name="revision-info"></a>Revision Information</h3>
|
||||
<p>At the bottom of every page should be some revision information indicating
|
||||
when the page was last revised. This information should be separated from the
|
||||
rest of the page above by an <hr> tag. The following HTML code snippet
|
||||
can be used to track this revision information (this code uses some server components
|
||||
that exist on the Boost web site to automatically track revision dates with
|
||||
out the need for hand editing the date text):</p>
|
||||
<pre><hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
01 January, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
</pre>
|
||||
<h3><a name="copyright"></a>Copyright Information</h3>
|
||||
<p>The very bottom of the page should contain any copyright information that applies
|
||||
to the document.</p>
|
||||
<h2><a name="format"></a>Format</h2>
|
||||
<p>This section provides general guidelines for formatting documentation using
|
||||
HTML. The description of the various "common pages" gave specific
|
||||
details for formatting specific sections of the documentation, which should
|
||||
override these guidelines.</p>
|
||||
<h3><a name="code-format"></a>Code</h3>
|
||||
<p>Code within the documentation should be placed within either <code></code>
|
||||
or <pre></pre> tags. For code that's placed inline with other text
|
||||
you use <code></code> tags, while <pre></pre> tags are
|
||||
used for code "blocks". If a cascading style sheet is used to specify
|
||||
formatting for these tags, a fixed width sans serif font should be used. This
|
||||
insures that the code is easily distinguishable from the rest of the text. It
|
||||
may also be beneficial to set the style for <pre></pre> tags to
|
||||
indent the text, to help separate code blocks from other structural HTML blocks.
|
||||
The <a href="#boost-style-sheet">Boost Style Sheet</a> specifies formatting
|
||||
for these tags.</p>
|
||||
<p><b>Note:</b> "Code" includes variable names, function names, etc.</p>
|
||||
<h3><a name="lists"></a>Lists</h3>
|
||||
<p>Lists should be constructed as unordered (<UL> and <li> tags),
|
||||
ordered (<ol> and <li> tags) or definition (<dl> and <DT>
|
||||
tags) lists in HTML. You use an unordered list when you need a collection of
|
||||
items that don't have any kind of logical ordering, such as a list of data types
|
||||
that are defined by the library and can be used for a template argument. You
|
||||
use an ordered list when the collection of items must be grouped in a logical
|
||||
ordering, such as when enumerating the steps that an action logically performs.
|
||||
You use a definition list when the list consists of not only items that have
|
||||
no logical ordering, but also contains definitions/descriptions/etc. of the
|
||||
items. A good example of this is the function specifications as described in
|
||||
<a href="structure.html">Documentation Structure</a>.</p>
|
||||
<h3><a name="graphics"></a>Graphics</h3>
|
||||
<p>Graphics should be used very sparingly, if at all. Graphic images greatly effect
|
||||
the download time for many people, which can discourage users from reading the
|
||||
documentation. If you need graphic images to help illustrate something in your
|
||||
documentation consider supplying only a link to the image within the documentation,
|
||||
instead of embedding it directly in the text. If an image is going to be included
|
||||
in the text of the document you should specify the image's size in the <img>
|
||||
tag, in order to allow the user's browser to optimize the formatting of the
|
||||
text before the image is loaded.</p>
|
||||
<h3><a name="non-breaking-spaces"></a>Non-breaking Spaces</h3>
|
||||
<p>Non-breaking spaces (&nbsp;) should be avoided in HTML text. Generally
|
||||
there are more appropriate ways to format the document, such as using list constructs
|
||||
or specifying indentation as a style attribute or in cascading style sheets.</p>
|
||||
<h3><a name="style-sheets"></a>Cascading Style Sheets</h3>
|
||||
<p>Cascading style sheets allow you to apply some advanced formatting styles to
|
||||
an HTML document. More importantly, they allow you to change the formatting
|
||||
in a single file and effect all pages using the style sheet. Instead of struggling
|
||||
to produce a specific format in HTML it's often easier and more flexible to
|
||||
specify the formatting in a style sheet.</p>
|
||||
<h4><a name="boost-style-sheet"></a>Boost Style Sheet</h4>
|
||||
<p>The concept of using cascading style sheets to format HTML is such a good idea
|
||||
that it can be beneficial to apply this across the entire Boost site. Of course
|
||||
we can't require this (if Boost were to require such trivia for submissions
|
||||
it's likely that many programmers would be discouraged from contributing). However,
|
||||
a "standard" Boost style sheet (http://www.boost.org/boost.css) is
|
||||
supplied anyway, so that a contributer can quickly and easily produce clear
|
||||
and consistent documentation that reflects a Boost "brand" if they
|
||||
so choose. If, at a later date, it's decided to update the Boost "brand",
|
||||
it may be done in this single file and all documents using the style sheet will
|
||||
automatically be updated.</p>
|
||||
<p>The Boost supplied style sheet not only specifies styles for many standard
|
||||
tags, it also specifies several style "classes". A class is specified
|
||||
for a given tag instead of being applied to all instances of a given tag type.
|
||||
Below is a list of the classes specified in the Boost style sheet and a description
|
||||
of when to use them:</p>
|
||||
<dl>
|
||||
<dt><b>index</b> Used for <dl> tags when writing index lists.</dt>
|
||||
<dt><b>page-index</b> Used for <dl> tags when writing page index lists.</dt>
|
||||
<dt><b>Footnote</b> Used when writing Footnote numbers.</dt>
|
||||
<dt><b>function-semantics</b> Used for <dl> tags when writing function
|
||||
semantic lists.</dt>
|
||||
</dl>
|
||||
<h2><a name="templates"></a>Templates</h2>
|
||||
<p>Instead of hand coding every HTML page, HTML "templates" can be used instead.
|
||||
The list below provides links to templates that may be used when writing documentation
|
||||
for a contribution to Boost. Links provided in these templates assume the files
|
||||
will reside in the "traditional" directory hierarchy of <i>boost/libs/library/doc</i>.
|
||||
They may need correcting if the file will reside in some other location.</p>
|
||||
<p><b>Note:</b> Since these "templates" are just HTML pages simply clicking
|
||||
on the links below will load the template in your browser. You will need to
|
||||
use a browser specific method to download the files instead of loading them
|
||||
into the browser (for instance, on most Windows browsers you can right click
|
||||
on the link and select the appropriate command from the context sensitive menu).</p>
|
||||
<ul>
|
||||
<li><a name="index-template"></a><a href="template\index.html">Index Page Template</a></li>
|
||||
<li><a name="overview-template"></a><a href="template%5Coverview.html">Overview
|
||||
Page Template</a></li>
|
||||
<li><a name="definitions-template"></a><a href="template\definitions.html">Definitions
|
||||
Page Template</a></li>
|
||||
<li><a name="rationale-template"></a><a href="template\rationale.html">Rationale
|
||||
Page Template</a></li>
|
||||
<li><a name="configuration-template"></a><a href="template\configuration.html">Configuration
|
||||
Page Template</a></li>
|
||||
<li><a name="faq-template"></a><a href="template\faq.html">FAQ (Frequently Asked
|
||||
Questions) Page Template</a></li>
|
||||
<li><a name="bibliography-template"></a><a href="template\bibliography.html">Bibliography
|
||||
Page Template</a></li>
|
||||
<li><a name="acknowledgements-template"></a><a href="template\acknowledgments.html">Acknowledgments
|
||||
Page Template</a></li>
|
||||
<li><a name="header-template"></a><a href="template\header.html">Header Page
|
||||
Template</a></li>
|
||||
</ul>
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:williamkempf@hotmail.com">William E. Kempf</a>
|
||||
2001. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
36
writingdoc/index.html
Normal file
36
writingdoc/index.html
Normal file
@ -0,0 +1,36 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../libs/boost.css">
|
||||
<title>Writing Documentation for Boost</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">Writing Documentation for Boost</h1>
|
||||
<h2 align="center">Index</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<h2>Contents</h2>
|
||||
<dl class="index">
|
||||
<dt><a href="introduction.html">Introduction</a></dt>
|
||||
<dt><a href="structure.html">Documentation Structure</a></dt>
|
||||
<dt><a href="design.html">HTML Design</a></dt>
|
||||
</dl>
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:williamkempf@hotmail.com">William E. Kempf</a>
|
||||
2001. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
48
writingdoc/introduction.html
Normal file
48
writingdoc/introduction.html
Normal file
@ -0,0 +1,48 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../libs/boost.css">
|
||||
<title>Writing Documentation for Boost - Introduction</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="index.htm"><img height="86" width="277" alt="C++ Boost" src="../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">Writing Documentation for Boost</h1>
|
||||
<h2 align="center">Introduction</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<p>Boost does not have any requirements on how you write your documentation. If
|
||||
you are submitting a library that already has written documentation in HTML
|
||||
format, there is no reason to change it to follow any of the guidelines presented
|
||||
here. However, if you have documentation that's not in HTML format and can't
|
||||
be easily converted to HTML, or if you're starting on a library from scratch
|
||||
or have a library with no documentation then these guidelines can make writing
|
||||
the documentation much easier.</p>
|
||||
<p>The section on <a href="structure.html">Documentation Structure</a> describes
|
||||
how to go about structuring the documentation's content. This section may be
|
||||
helpful even for libraries that already have documentation. If there's a desire
|
||||
to present the library for possible inclusion by the C++ Standards Committee
|
||||
then there may be a need to restructure the documentation's content in order
|
||||
to insure the content meets explicit requirements for library components (Section
|
||||
17.3).</p>
|
||||
<p>The section on <a href="design.html">HTML Design</a> gives general rules to
|
||||
follow when writing HTML documentation in order to give a professional and consistent
|
||||
look. This section also contains some template files that can be used to rapidly
|
||||
create documentation pages.</p>
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:williamkempf@hotmail.com">William E. Kempf</a>
|
||||
2001. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
257
writingdoc/structure.html
Normal file
257
writingdoc/structure.html
Normal file
@ -0,0 +1,257 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../libs/boost.css">
|
||||
<title>Writing Documentation for Boost - Documentation Structure</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="index.htm"><img height="86" width="277" alt="C++ Boost" src="../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">Writing Documentation for Boost</h1>
|
||||
<h2 align="center">Documentation Structure</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#introduction">Introduction</a></dt>
|
||||
<dt><a href="#standards-conforming">Standards Conforming Documentation</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#elements">Document elements</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#summary">Summary</a></dt>
|
||||
<dt><a href="#requirements">Requirements</a></dt>
|
||||
<dt><a href="#detailed-specs">Detailed specifications</a></dt>
|
||||
<dt><a href="#ref-cpp">References to the Standard C++ library</a></dt>
|
||||
<dt><a href="#ref-c">References to the Standard C library</a></dt>
|
||||
</dl>
|
||||
<dt><a href="#other">Other conventions</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#type-descs">Type descriptions</a></dt>
|
||||
</dl>
|
||||
</dl>
|
||||
<dt><a href="#more">More Information</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#function-semantic-explanations">Function semantic element explanations</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#requires">Requires</a></dt>
|
||||
<dt><a href="#effects">Effects</a></dt>
|
||||
<dt><a href="#postconditions">Postconditions</a></dt>
|
||||
<dt><a href="#returns">Returns</a></dt>
|
||||
<dt><a href="#throws">Throws</a></dt>
|
||||
<dt><a href="#complexity">Complexity</a></dt>
|
||||
<dt><a href="#rationale">Rationale</a></dt>
|
||||
</dl>
|
||||
</dl>
|
||||
<dt><a href="#footnotes">Footnotes</a></dt>
|
||||
</dl>
|
||||
<h2><a name="introduction">Introduction</a></h2>
|
||||
<p>Boost itself does not require any specific documentation structure. The C++
|
||||
Standard, however, has very explicit requirements for the description of library
|
||||
components (Section 17.3). So for Boost libraries likely to be proposed for
|
||||
inclusion in the standard, it is highly desirable to structure documentation
|
||||
in a way that meets the requirements of the the standard. Doing so eliminates
|
||||
the need to rewrite the documentation for standardization.</p>
|
||||
<p>Library developers should remember that for a library to be accepted as part
|
||||
of the C++ Standard Library, the proposal must include full wording. The committee
|
||||
will not do that work for you.</p>
|
||||
<p>Beyond that, the documentation structure required for the standard is an effective
|
||||
way to communicate the technical specifications for a library. Although terse,
|
||||
it is already familiar to many Boost users, and is far more precise than most
|
||||
ad hoc documentation structures.</p>
|
||||
<p>The following description is for the structure of documentation required by
|
||||
the standard. Boost libraries should also provided additional documentation,
|
||||
such as introductory, tutorial, example, and rationale material.</p>
|
||||
<h2><a name="standards-conforming">Standards Conforming</a> Documentation</h2>
|
||||
<h3><a name="elements">Document elements</a></h3>
|
||||
<p>Each document contains the following elements, as applicable<a class="footnote" href="#footnote1">(1)</a>:</p>
|
||||
<ul>
|
||||
<li><a href="#summary">Summary</a></li>
|
||||
<li><a href="#requirements">Requirements</a></li>
|
||||
<li><a href="#detailed-specs">Detailed specifications</a></li>
|
||||
<li><a href="#ref-cpp">References to the Standard C++ library</a></li>
|
||||
<li><a href="#ref-c">References to the Standard C library</a></li>
|
||||
</ul>
|
||||
<h4><a name="summary">Summary</a></h4>
|
||||
<p>The Summary provides a synopsis of the category, and introduces the first-level
|
||||
subclauses. Each subclause also provides a summary, listing the headers specified
|
||||
in the subclause and the library entities provided in each header.</p>
|
||||
<p>Paragraphs labeled "Note(s):" or "Example(s):" are informative, other paragraphs
|
||||
are normative.</p>
|
||||
<p>The summary and the detailed specifications are presented in the order:</p>
|
||||
<ul>
|
||||
<li>Macros</li>
|
||||
<li>Values</li>
|
||||
<li>Types</li>
|
||||
<li>Classes</li>
|
||||
<li>Functions</li>
|
||||
<li>Objects</li>
|
||||
</ul>
|
||||
<h4><a name="requirements">Requirements</a></h4>
|
||||
<p>The library can be extended by a C++ program. Each clause, as applicable, describes
|
||||
the requirements that such extensions must meet. Such extensions are generally
|
||||
one of the following:</p>
|
||||
<ul>
|
||||
<li>Template arguments</li>
|
||||
<li>Derived classes</li>
|
||||
<li>Containers, iterators, and/or algorithms that meet an interface convention</li>
|
||||
</ul>
|
||||
<p>Interface convention requirements are stated as generally as possible. Instead
|
||||
of stating "<code>class X</code> has to define a member function <code>operator++()</code>,"
|
||||
the interface requires "for any object <code>x</code> of <code>class X</code>,
|
||||
<code>++x</code> is defined." That is, whether the operator is a member is unspecified.</p>
|
||||
<p>Requirements are stated in terms of well-defined expressions, which define
|
||||
valid terms of the types that satisfy the requirements. For every set of requirements
|
||||
there is a table that specifies an initial set of the valid expressions and
|
||||
their semantics. Any generic algorithm that uses the requirements is described
|
||||
in terms of the valid expressions for its formal type parameters.</p>
|
||||
<p>Template argument requirements are sometimes referenced by name.</p>
|
||||
<p>In some cases the semantic requirements are presented as C++ code. Such code
|
||||
is intended as a specification of equivalance of a construct to another construct,
|
||||
not necessarily as the way the construct must be implemented.<a class="footnote" href="#footnote2">(2)</a></p>
|
||||
<h4><a name="detailed-specs">Detailed specification</a></h4>
|
||||
<p>The detailed specifications each contain the following elements:</p>
|
||||
<ul>
|
||||
<li>Name and brief description</li>
|
||||
<li>Synopsis (class definition or function prototype, as appropriate)</li>
|
||||
<li>Restrictions on template arguments, if any</li>
|
||||
<li>Description of class invariants</li>
|
||||
<li>Description of function semantics</li>
|
||||
</ul>
|
||||
<p>Descriptions of class member functions follow the order (as appropriate)<a class="footnote" href="#footnote3">(3)</a>:</p>
|
||||
<ul>
|
||||
<li>Constructor(s) and destructor</li>
|
||||
<li>Copying and assignment functions</li>
|
||||
<li>Comparison functions</li>
|
||||
<li>Modifier functions</li>
|
||||
<li>Observer functions</li>
|
||||
<li>Operators and other non-member functions</li>
|
||||
</ul>
|
||||
<p>Descriptions of function semantics contain the following <a name="function-elements">elements</a>
|
||||
(as appropriate)<a class="footnote" href="#footnote4">(4):</a></p>
|
||||
<dl class="function-semantics">
|
||||
<dt><b><a href="#requires">Requires:</a></b> the preconditions for calling the
|
||||
function</dt>
|
||||
<dt><b><a href="#effects">Effects:</a></b> the actions performed by the function</dt>
|
||||
<dt><b><a href="#postconditions">Postconditions:</a></b> the observable results
|
||||
established by the function</dt>
|
||||
<dt><b><a href="#returns">Returns:</a></b> a description of the value(s) returned
|
||||
by the function</dt>
|
||||
<dt><b><a href="#throws">Throws:</a></b> any exceptions thrown by the function,
|
||||
and the conditions that would cause the exception</dt>
|
||||
<dt><b><a href="#complexity">Complexity:</a></b> the time and/or space complexity
|
||||
of the function</dt>
|
||||
<dt><b><a href="#rationale">Rationale:</a></b> the rationale for the function's design
|
||||
or existence</dt>
|
||||
</dl>
|
||||
<p>Complexity requirements specified in the library clauses are upper bounds,
|
||||
and implementations that provide better complexity guarantees satisfy the requirements.</p>
|
||||
<h4><a name="ref-cpp">References to the C++ Standard library</a></h4>
|
||||
<h4><a name="ref-c">References to the C Standard library</a></h4>
|
||||
<h3><a name="other">Other conventions</a></h3>
|
||||
<p>These conventions are for describing implementation-defined types, and member
|
||||
functions.</p>
|
||||
<h4><a name="type-descs">Type descriptions</a></h4>
|
||||
<p>The Requirements subclauses may describe names that are used to specify constraints
|
||||
on template arguments.</p>
|
||||
<h2><a name="more">More Information</a></h2>
|
||||
<h3><a name="function-semantic-explanations">Function semantic element explanations</a></h3>
|
||||
<p>The function semantic element description <a href="#function-elements">above</a>
|
||||
is taken directly from the C++ standard, and is quite terse. Here is a more
|
||||
detailed explanation of each of the elements.</p>
|
||||
<p>Note the use of the <code><code> ... </code></code> font tag to
|
||||
distinguish actual C++ usage from English prose.</p>
|
||||
<h4><a name="requires">Requires</a></h4>
|
||||
<p>Preconditions for calling the function, typically expressed as predicates.
|
||||
The most common preconditions are requirements on the value of arguments, often
|
||||
in the form of C++ expressions. For example,
|
||||
<pre>
|
||||
<code>void limit( int * p, int min, int max );</code>
|
||||
</pre>
|
||||
<dl class="function-semantics">
|
||||
<dt><b>Requires:</b> <code>p != 0 && min <= max</code></dt>
|
||||
</dl>
|
||||
<p>Requirements already enforced by the C++ language rules (such as the type of
|
||||
arguments) are not repeated in Requires paragraphs.</p>
|
||||
<h4><a name="effects">Effects</a></h4>
|
||||
<p>The actions performed by the function, described either in prose or in C++.
|
||||
A description in prose is often less limiting on implementors, but is often
|
||||
less precise than C++ code.</p>
|
||||
<p>If an effect is specified in one of the other elements, particularly <i>postconditions</i>,
|
||||
<i>returns</i>, or <i>throws</i>, it is not also described in the <i>effects</i>
|
||||
paragraph. Having only a single description ensures that there is one and only
|
||||
one specification, and thus eliminates the risk of divergence.</p>
|
||||
<h4><a name="postconditions">Postconditions</a></h4>
|
||||
<p>The observable results of the function, such as the value of variables. Postconditions
|
||||
are often expressed as predicates that are true after the function completes,
|
||||
in the form of C++ expressions. For example:</p>
|
||||
<pre>
|
||||
void make_zero_if_negative( int & x );
|
||||
</pre>
|
||||
<dl class="function-semantics">
|
||||
<dt><b>Postcondition:</b> <code>x >= 0</code></dt>
|
||||
</dl>
|
||||
<h4><a name="returns">Returns</a></h4>
|
||||
<p>The value returned by the function, usually in the form of a C++ expression.
|
||||
For example:</p>
|
||||
<pre>
|
||||
int sum( int x, int y );
|
||||
</pre>
|
||||
<dl class="function-semantics">
|
||||
<dt><b>Returns:</b> <code>x + y</code></dt>
|
||||
</dl>
|
||||
<p>Only specify the return value; the type is already dictated by C++ language
|
||||
rules.
|
||||
<h4><a name="throws">Throws</a></h4>
|
||||
<p>Specify both the type of exception thrown, and the condition that causes the
|
||||
exception to be thrown. For example, the <code>std::basic_string</code> class
|
||||
specifies:
|
||||
<pre>
|
||||
void resize(size_type n, charT c);
|
||||
</pre>
|
||||
<dl class="function-semantics">
|
||||
<dt><b>Throws:</b> <code> length_error</code> if <code>n > max_size()</code>.</dt>
|
||||
</dl>
|
||||
<h4><a name="complexity">Complexity</a></h4>
|
||||
<p>Specifying the time and/or space complexity of a function is often not desirable
|
||||
because it over-constrains implementors and is hard to specify correctly. Complexity
|
||||
is thus often best left as a quality of implementation issue.</p>
|
||||
<p>A library component, however, can become effectively non-portable if there
|
||||
is wide variation in performance between conforming implementations. Containers
|
||||
are a prime example. In these cases it becomes worthwhile to specify complexity.</p>
|
||||
<p>Complexity is often specified in generalized <a href="http://hissa.nist.gov/dads/HTML/bigOnotation.html">
|
||||
"Big-O" notation</a>.</p>
|
||||
<h4><a name="rationale">Rationale</a></h4>
|
||||
<p>Specifying the rationale for a function's design or existence can often give users
|
||||
a lot of insight into why a library is designed the way it is. More importantly, it
|
||||
can help prevent "fixing" something that wasn't really broken as the library matures.</p>
|
||||
<h2><a name="footnotes">Footnotes</a></h2>
|
||||
<dl>
|
||||
<dt><a class="footnote" name="footnote1">(1)</a>
|
||||
To save space, items that do not apply to a clause are omitted. For example,
|
||||
if a clause does not specify any requirements, there will be no "Requirements"
|
||||
subclause.</dt>
|
||||
<dt><a class="footnote" name="footnote2">(2)</a> Although in some cases the
|
||||
code is unambiguously the optimum implementation.</dt>
|
||||
<dt><a class="footnote" name="footnote3">(3)</a> To save space, items that do
|
||||
not apply to a class are omitted. For example, if a class does not specify
|
||||
any comparison functions, there will be no "Comparison functions" subclause.</dt>
|
||||
<dt><a class="footnote" name="footnote4">(4)</a> To save space, items that do
|
||||
not apply to a function are omitted. For example, if a function does not specify
|
||||
any precondition, there will be no "Requires" paragraph.</dt>
|
||||
</dl>
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:williamkempf@hotmail.com">William E. Kempf</a>
|
||||
2001. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
31
writingdoc/template/acknowledgments.html
Normal file
31
writingdoc/template/acknowledgments.html
Normal file
@ -0,0 +1,31 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||
<title>{{Library}} - Acknowledgments</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">{{Library}}</h1>
|
||||
<h2 align="center">Acknowledgments</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
{{text}}
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
||||
2002. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
31
writingdoc/template/bibliography.html
Normal file
31
writingdoc/template/bibliography.html
Normal file
@ -0,0 +1,31 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||
<title>{{Library}} - Bibliography</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">{{Library}}</h1>
|
||||
<h2 align="center">Bibliography</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
{{bibliographical information}}
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
||||
2002. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
90
writingdoc/template/configuration.html
Normal file
90
writingdoc/template/configuration.html
Normal file
@ -0,0 +1,90 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||
<title>{{Library}} - Configuration</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">{{Library}}</h1>
|
||||
<h2 align="center">Configuration</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#introduction">Introduction</a></dt>
|
||||
<dt><a href="#app-defined">Application Defined Macros</a></dt>
|
||||
<dt><a href="#lib-defined-public">Public Library Defined Macros</a></dt>
|
||||
<dt><a href="#lib-defined-impl">Library Defined Implementation Macros</a></dt>
|
||||
</dl>
|
||||
<h2><a name="introduction"></a>Introduction</h2>
|
||||
<p>{{library}} uses several configuration macros in <a href="http://www.boost.org/libs/config/config.htm"><boost/config.hpp></a>,
|
||||
as well as configuration macros meant to be supplied by the application. These
|
||||
macros are documented here.</p>
|
||||
<h2><a name="app-defined"></a>Application Defined Macros</h2>
|
||||
<p>These are the macros that may be defined by an application using {{library}}.</p>
|
||||
<table summary="application defined macros" cellspacing="10" width="100%">
|
||||
<tr>
|
||||
<td><b>Macro</b></td>
|
||||
<td><b>Meaning</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{macro}}</td>
|
||||
<td>{{meaning}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{macro}}</td>
|
||||
<td>{{meaning}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a name="lib-defined-public"></a>Public Library Defined Macros</h2>
|
||||
<p>These macros are defined by {{library}} but are expected to be used by application
|
||||
code.</p>
|
||||
<table summary="public library defined macros" cellspacing="10" width="100%">
|
||||
<tr>
|
||||
<td><b>Macro</b></td>
|
||||
<td><b>Meaning</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{macro}}</td>
|
||||
<td>{{meaning}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{macro}}</td>
|
||||
<td>{{meaning}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h2><a name="lib-defined-impl"></a>Library Defined Implementation Macros</h2>
|
||||
<p>These macros are defined by {{library}} and are implementation details of interest
|
||||
only to implementers.</p>
|
||||
<table summary="library defined implementation macros" cellspacing="10" width="100%">
|
||||
<tr>
|
||||
<td><b>Macro</b></td>
|
||||
<td><b>Meaning</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{macro}}</td>
|
||||
<td>{{meaning}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{macro}}</td>
|
||||
<td>{{meaning}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
||||
2002. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
34
writingdoc/template/definitions.html
Normal file
34
writingdoc/template/definitions.html
Normal file
@ -0,0 +1,34 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||
<title>{{Library}} - Definitions</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">{{Library}}</h1>
|
||||
<h2 align="center">Definitions</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<dl class="definitions">
|
||||
<dt><b>{{term}}:</b> {{definition}}</dt>
|
||||
<dt><b>{{term}}:</b> {{definition}}</dt>
|
||||
</dl>
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
||||
2002. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
38
writingdoc/template/faq.html
Normal file
38
writingdoc/template/faq.html
Normal file
@ -0,0 +1,38 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||
<title>{{Library}} - FAQ</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">{{Library}}</h1>
|
||||
<h2 align="center">Frequently Asked Questions (FAQs)</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#question1">{{question}}</a></dt>
|
||||
<dt><a href="#question2">{{question}}</a></dt>
|
||||
</dl>
|
||||
<h2><a name="question1"></a>{{question}}</h2>
|
||||
<p>{{answer}}</p>
|
||||
<h2><a name="question2"></a>{{question}}</h2>
|
||||
<p>{{answer}}</p>
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
||||
2002. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
181
writingdoc/template/header.html
Normal file
181
writingdoc/template/header.html
Normal file
@ -0,0 +1,181 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||
<title>{{library}} - <{{header}}></title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">{{library}}</h1>
|
||||
<h2 align="center">Header <{{header}}></h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<h2>Contents</h2>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#introduction">Introduction</a></dt>
|
||||
<dt><a href="#macros">Macros</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#macro-spec">{{macro name}}</a></dt>
|
||||
</dl>
|
||||
<dt><a href="#values">Values</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#value-spec">{{value name}}</a></dt>
|
||||
</dl>
|
||||
<dt><a href="#types">Types</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#type-spec">{{type name}}</a></dt>
|
||||
</dl>
|
||||
<dt><a href="#classes">Classes</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#class-spec">Class <code>{{class name}}</code></a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#class-spec-synopsis">Class <code>{{class name}}</code> synopsis</a></dt>
|
||||
<dt><a href="#class-spec-ctors">Class <code>{{class name}}</code> constructors and destructor</a></dt>
|
||||
<dt><a href="#class-spec-comparisons">Class <code>{{class name}}</code> comparison functions</a></dt>
|
||||
<dt><a href="#class-spec-modifiers">Class <code>{{class name}}</code> modifier functions</a></dt>
|
||||
<dt><a href="#class-spec-observers">Class <code>{{class name}}</code> observer functions</a></dt>
|
||||
<dt><a href="#class-spec-statics">Class <code>{{class name}}</code> static functions</a></dt>
|
||||
</dl>
|
||||
</dl>
|
||||
<dt><a href="#functions">Functions</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#function-spec">{{function name}}</a></dt>
|
||||
</dl>
|
||||
<dt><a href="#objects">Objects</a></dt>
|
||||
<dl class="page-index">
|
||||
<dt><a href="#object-spec">{{object name}}</a></dt>
|
||||
</dl>
|
||||
<dt><a href="#examples">Example(s)</a></dt>
|
||||
</dl>
|
||||
<hr>
|
||||
<h2><a name="introduction"></a>Introduction</h2>
|
||||
<p>{{Introductory text}}</p>
|
||||
<h2><a name="macros"></a>Macros</h2>
|
||||
<p><a name="macro-spec"></a>{{Macro specifications}}</p>
|
||||
<h2><a name="values"></a>Values</h2>
|
||||
<p><a name="value-spec"></a>{{Value specifications}}</p>
|
||||
<h2><a name="types"></a>Types</h2>
|
||||
<p><a name="type-spec"></a>{{Type specifications}}</p>
|
||||
<h2><a name="classes"></a>Classes</h2>
|
||||
<h3><a name="class-spec"></a>Class <code>{{name}}</code></h3>
|
||||
<p>{{class overview text}}</p>
|
||||
<h4><a name="class-spec-synopsis"></a>Class {{name}} synopsis</h4>
|
||||
<pre>
|
||||
namespace boost
|
||||
{
|
||||
class {{name}}
|
||||
{
|
||||
};
|
||||
};
|
||||
</pre>
|
||||
<h4><a name="class-spec-ctors"></a>Class {{name}} constructors and destructor</h4>
|
||||
<pre>
|
||||
{{constructor}}
|
||||
</pre>
|
||||
<dl class="function-semantics">
|
||||
<dt><b>Requires:</b> {{text}}</dt>
|
||||
<dt><b>Effects:</b> {{text}}</dt>
|
||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||
<dt><b>Returns:</b> {{text}}</dt>
|
||||
<dt><b>Throws:</b> {{text}}</dt>
|
||||
<dt><b>Complexity:</b> {{text}}</dt>
|
||||
<dt><b>Rationale:</b> {{text}}</dt>
|
||||
</dl>
|
||||
<pre>
|
||||
{{destructor}}
|
||||
</pre>
|
||||
<dl class="function-semantics">
|
||||
<dt><b>Requires:</b> {{text}}</dt>
|
||||
<dt><b>Effects:</b> {{text}}</dt>
|
||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||
<dt><b>Returns:</b> {{text}}</dt>
|
||||
<dt><b>Throws:</b> {{text}}</dt>
|
||||
<dt><b>Complexity:</b> {{text}}</dt>
|
||||
<dt><b>Rationale:</b> {{text}}</dt>
|
||||
</dl>
|
||||
<h4><a name="class-spec-comparisons"></a>Class {{name}} comparison functions</h4>
|
||||
<pre>
|
||||
{{function}}
|
||||
</pre>
|
||||
<dl class="function-semantics">
|
||||
<dt><b>Requires:</b> {{text}}</dt>
|
||||
<dt><b>Effects:</b> {{text}}</dt>
|
||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||
<dt><b>Returns:</b> {{text}}</dt>
|
||||
<dt><b>Throws:</b> {{text}}</dt>
|
||||
<dt><b>Complexity:</b> {{text}}</dt>
|
||||
<dt><b>Rationale:</b> {{text}}</dt>
|
||||
</dl>
|
||||
<h4><a name="class-spec-modifiers"></a>Class {{name}} modifier functions</h4>
|
||||
<pre>
|
||||
{{function}}
|
||||
</pre>
|
||||
<dl class="function-semantics">
|
||||
<dt><b>Requires:</b> {{text}}</dt>
|
||||
<dt><b>Effects:</b> {{text}}</dt>
|
||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||
<dt><b>Returns:</b> {{text}}</dt>
|
||||
<dt><b>Throws:</b> {{text}}</dt>
|
||||
<dt><b>Complexity:</b> {{text}}</dt>
|
||||
<dt><b>Rationale:</b> {{text}}</dt>
|
||||
</dl>
|
||||
<h4><a name="class-spec-observers"></a>Class {{name}} observer functions</h4>
|
||||
<pre>
|
||||
{{function}}
|
||||
</pre>
|
||||
<dl class="function-semantics">
|
||||
<dt><b>Requires:</b> {{text}}</dt>
|
||||
<dt><b>Effects:</b> {{text}}</dt>
|
||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||
<dt><b>Returns:</b> {{text}}</dt>
|
||||
<dt><b>Throws:</b> {{text}}</dt>
|
||||
<dt><b>Complexity:</b> {{text}}</dt>
|
||||
<dt><b>Rationale:</b> {{text}}</dt>
|
||||
</dl>
|
||||
<h4><a name="class-spec-statics"></a>Class {{name}} static functions</h4>
|
||||
<pre>
|
||||
{{function}}
|
||||
</pre>
|
||||
<dl class="function-semantics">
|
||||
<dt><b>Requires:</b> {{text}}</dt>
|
||||
<dt><b>Effects:</b> {{text}}</dt>
|
||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||
<dt><b>Returns:</b> {{text}}</dt>
|
||||
<dt><b>Throws:</b> {{text}}</dt>
|
||||
<dt><b>Complexity:</b> {{text}}</dt>
|
||||
<dt><b>Rationale:</b> {{text}}</dt>
|
||||
</dl>
|
||||
<h2><a name="functions"></a>Functions</h2>
|
||||
<pre>
|
||||
<a name="function-spec"></a>{{function}}
|
||||
</pre>
|
||||
<dl class="function-semantics">
|
||||
<dt><b>Requires:</b> {{text}}</dt>
|
||||
<dt><b>Effects:</b> {{text}}</dt>
|
||||
<dt><b>Postconditions:</b> {{text}}</dt>
|
||||
<dt><b>Returns:</b> {{text}}</dt>
|
||||
<dt><b>Throws:</b> {{text}}</dt>
|
||||
<dt><b>Complexity:</b> {{text}}</dt>
|
||||
<dt><b>Rationale:</b> {{text}}</dt>
|
||||
</dl>
|
||||
<h2><a name="objects"></a>Objects</h2>
|
||||
<p><a name="object-spec"></a>{{Object specifications}}</p>
|
||||
<h2><a name="examples"></a>Example(s)</h2>
|
||||
<p>{{Example(s)}}</p>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
||||
2002. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
70
writingdoc/template/index.html
Normal file
70
writingdoc/template/index.html
Normal file
@ -0,0 +1,70 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||
<title>{{Library}}</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">{{Library}}</h1>
|
||||
<h2 align="center">Index</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<h2>Contents</h2>
|
||||
<dl class="index">
|
||||
<dt><a href="overview.html">Overview</a></dt>
|
||||
<dt>Reference</dt>
|
||||
<dl class="index">
|
||||
<dt><a href="header.html">{{header}}</a></dt>
|
||||
<dl class="index">
|
||||
<dt><a href="header.html#macros">Macros</a></dt>
|
||||
<dl class="index">
|
||||
<dt><a href="header.html#macro-spec">{{macro name}}</a></dt>
|
||||
</dl>
|
||||
<dt><a href="header.html#values">Values</a></dt>
|
||||
<dl class="index">
|
||||
<dt><a href="header.html#value-spec">{{value name}}</a></dt>
|
||||
</dl>
|
||||
<dt><a href="header.html#types">Types</a></dt>
|
||||
<dl class="index">
|
||||
<dt><a href="header.html#value-spec">{{type name}}</a></dt>
|
||||
</dl>
|
||||
<dt><a href="header.html#classes">Classes</a></dt>
|
||||
<dl class="index">
|
||||
<dt><a href="header.html#value-spec">{{class name}}</a></dt>
|
||||
</dl>
|
||||
<dt><a href="header.html#functions">Functions</a></dt>
|
||||
<dl class="index">
|
||||
<dt><a href="header.html#value-spec">{{function name}}</a></dt>
|
||||
</dl>
|
||||
<dt><a href="header.html#objects">Objects</a></dt>
|
||||
<dl class="index">
|
||||
<dt><a href="header.html#value-spec">{{object name}}</a></dt>
|
||||
</dl>
|
||||
</dl>
|
||||
</dl>
|
||||
<dt><a href="configuration.html">Configuration Information</a></dt>
|
||||
<dt><a href="rationale.html">Rationale</a></dt>
|
||||
<dt><a href="definitions.html">Definitions</a></dt>
|
||||
<dt><a href="faq.html">Frequently Asked Questions (FAQs)</a></dt>
|
||||
<dt><a href="bibliography.html">Bibliography</a></dt>
|
||||
<dt><a href="acknowledgments.html">Acknowledgments</a></dt>
|
||||
</dl>
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
||||
2002. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
47
writingdoc/template/overview.html
Normal file
47
writingdoc/template/overview.html
Normal file
@ -0,0 +1,47 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||
<title>{{Library}} - Overview</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">{{Library}}</h1>
|
||||
<h2 align="center">Overview</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<dl class="index">
|
||||
<dt><a href="#introduction">Introduction</a></dt>
|
||||
<dt><a href="#topic1">First topic</a></dt>
|
||||
<dt><a href="#topic2">Second topic</a></dt>
|
||||
<dt><a href="#footnotes">Footnotes</a></dt>
|
||||
</dl>
|
||||
<h2><a name="introduction"></a>Introduction</h2>
|
||||
<p>{{text}}</p>
|
||||
<h2><a name="topic1"></a>First Topic</h2>
|
||||
<p>{{text}}</p>
|
||||
<h2><a name="topic2"></a>Second Topic</h2>
|
||||
<p>{{text}}</p>
|
||||
<h2><a name="footnotes"></a>Footnotes</h2>
|
||||
<dl>
|
||||
<dt><a name="footnote1" class="footnote">(1)</a> {{text}}</dt>
|
||||
<dt><a name="footnote2" class="footnote">(2)</a> {{text}}</dt>
|
||||
</dl>
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
||||
2002. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
47
writingdoc/template/rationale.html
Normal file
47
writingdoc/template/rationale.html
Normal file
@ -0,0 +1,47 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<link rel="stylesheet" type="text/css" href="../../boost.css">
|
||||
<title>{{Library}} - Rationale</title>
|
||||
</head>
|
||||
<body link="#0000ff" vlink="#800080">
|
||||
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
|
||||
"header">
|
||||
<tr>
|
||||
<td valign="top" width="300">
|
||||
<h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../c++boost.gif" border="0"></a></h3>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<h1 align="center">{{Library}}</h1>
|
||||
<h2 align="center">Rationale</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<dl class="index">
|
||||
<dt><a href="#introduction">Introduction</a></dt>
|
||||
<dt><a href="#topic1">First topic</a></dt>
|
||||
<dt><a href="#topic2">Second topic</a></dt>
|
||||
<dt><a href="#footnotes">Footnotes</a></dt>
|
||||
</dl>
|
||||
<h2><a name="introduction"></a>Introduction</h2>
|
||||
<p>{{text}}</p>
|
||||
<h2><a name="topic1"></a>First Topic</h2>
|
||||
<p>{{text}}</p>
|
||||
<h2><a name="topic2"></a>Second Topic</h2>
|
||||
<p>{{text}}</p>
|
||||
<h2><a name="footnotes"></a>Footnotes</h2>
|
||||
<dl>
|
||||
<dt><a name="footnote1" class="footnote">(1)</a> {{text}}</dt>
|
||||
<dt><a name="footnote2" class="footnote">(2)</a> {{text}}</dt>
|
||||
</dl>
|
||||
<hr>
|
||||
<p>Revised
|
||||
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
|
||||
05 November, 2001
|
||||
<!--webbot bot="Timestamp" endspan i-checksum="39359" -->
|
||||
</p>
|
||||
<p><i>© Copyright <a href="mailto:{{address}}">{{author}}</a>
|
||||
2002. All Rights Reserved.</i></p>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user