diff --git a/writingdoc/design.html b/writingdoc/design.html new file mode 100644 index 0000000..51a696c --- /dev/null +++ b/writingdoc/design.html @@ -0,0 +1,379 @@ + + + + +Writing Documentation for Boost - HTML Design + + + + + + + +
+

C++ Boost

+
+

Writing Documentation for Boost

+

HTML Design

+
+
+
+
Introduction
+
Common Pages Included in HTML Documentation
+
+
Index
+
Overview
+
Definitions
+
Rationale
+
Configuration Information
+
Frequently Asked Questions
+
Bibliography
+
Acknowledgment
+
Header Reference
+
+
Layout
+
+
Page Banner
+
Page Index
+
Documentation Content
+
+
Footnotes
+
+
Revision Information
+
Copyright Information
+
+
Format
+
+
Cascading Style Sheets
+
+
Boost Style Sheet
+
+
+
Templates
+
+
Index Page Template
+
Overview Page Template
+
Definitions Page Template
+
Rationale Page Template
+
Configuration Page Template
+
FAQ (Frequently Asked Questions) Page Template
+
Bibliography Page Template
+
Acknowledgments Page Template
+
Header Page Template
+
+
+

Introduction

+

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.

+

In several places this document assumes you're writing the documentation to + conform to the structure described in the Documentation + Structure 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.

+

This document also contains links to HTML template files + that can be used to rapidly develop documentation for a library submission. + These templates follow the guidelines presented here and in the Documentation + Structure document.

+

Common Pages Included in HTML Documentation

+

Most HTML documentation projects will contain some common pages. General guidelines + for these common pages are provided below.

+

Index

+

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 Page Index, 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 Documentation + Structure) 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.

+

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 Boost Style + Sheet you should add a class="index" attribute/value pair to + the <dl> tag.

+

An Index page template is provided for use.

+

Overview

+

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 Rational + Page.

+

Like most content pages, the Overview page should include a Page + Index.

+

An Overview page template is provided for + use.

+

Definitions

+

The Definitions page is used to provide a list of definitions for terms that + a user may be unfamiliar with.

+

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 Boost Style + Sheet you should add a class="definition" attribute/value pair + to the <dl> tag.

+

Because this page's content should only contain a list of definitions, it should + not have a Page Index.

+

+

A Definitions page template is provided + for use.

+

Rationale

+

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 Rationale + rationale in the general submission guidelines.

+

Like most content pages, the Rationale page should include a Page + Index.

+

+

A Rationale page template is provided for + use.

+

Configuration Information

+

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 <boost/config.hpp>, macros + used by library users to detect platform configuration information and macros + defined by library users to configure library behavior.

+

Like most content pages, the Overview page should include a Page + Index.

+

+

A Configuration page template is provided + for use.

+

Frequently Asked Questions

+

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.

+

The Page Index 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.

+

A Frequently Asked Questions page template is provided + for use.

+

Bibliography

+

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 here.

+

Since the Bibliography page should contain only bibliographical information + there is no need for a Page Index.

+

A Bibliography page template is provided + for use.

+

Acknowledgment

+

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.

+

Since the Acknowledgment page should contain only a list of acknowledgment + there is no need for a Page Index.

+

An Acknowledgments page template is + provided for use.

+

Header Reference

+

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 Documentation Structure + when writing the content for these pages.

+

Like most content pages, the Header Reference pages should include a Page + Index.

+

A Header Reference page template is provided + for use.

+

Layout

+

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.

+

Page Banner

+

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.

+

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.

+

Page Index

+

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.

+

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 class="page-index" + attribute/value pair to the <dl> tag.

+

Most pages should include a Page Index.

+

Documentation Content

+

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.

+

Footnotes

+

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 Boost Style Sheet, a footnote + class is defined for this purpose.

+

Revision Information

+

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):

+
<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>
+
+

Copyright Information

+

The very bottom of the page should contain any copyright information that applies + to the document.

+

Format

+

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.

+

Code

+

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 Boost Style Sheet specifies formatting + for these tags.

+

Note: "Code" includes variable names, function names, etc.

+

Lists

+

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 + Documentation Structure.

+

Graphics

+

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.

+

Non-breaking Spaces

+

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.

+

Cascading Style Sheets

+

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.

+

Boost Style Sheet

+

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.

+

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:

+
+
index Used for <dl> tags when writing index lists.
+
page-index Used for <dl> tags when writing page index lists.
+
Footnote Used when writing Footnote numbers.
+
function-semantics Used for <dl> tags when writing function + semantic lists.
+
+

Templates

+

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 boost/libs/library/doc. + They may need correcting if the file will reside in some other location.

+

Note: 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).

+ +
+

Revised + + 05 November, 2001 + +

+

© Copyright William E. Kempf + 2001. All Rights Reserved.

+ + diff --git a/writingdoc/index.html b/writingdoc/index.html new file mode 100644 index 0000000..0753496 --- /dev/null +++ b/writingdoc/index.html @@ -0,0 +1,36 @@ + + + + +Writing Documentation for Boost + + + + + + + +
+

C++ Boost

+
+

Writing Documentation for Boost

+

Index

+
+
+

Contents

+
+
Introduction
+
Documentation Structure
+
HTML Design
+
+
+

Revised + + 05 November, 2001 + +

+

© Copyright William E. Kempf + 2001. All Rights Reserved.

+ + diff --git a/writingdoc/introduction.html b/writingdoc/introduction.html new file mode 100644 index 0000000..896aa7b --- /dev/null +++ b/writingdoc/introduction.html @@ -0,0 +1,48 @@ + + + + +Writing Documentation for Boost - Introduction + + + + + + + +
+

C++ Boost

+
+

Writing Documentation for Boost

+

Introduction

+
+
+

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.

+

The section on Documentation Structure 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).

+

The section on HTML Design 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.

+
+

Revised + + 05 November, 2001 + +

+

© Copyright William E. Kempf + 2001. All Rights Reserved.

+ + diff --git a/writingdoc/structure.html b/writingdoc/structure.html new file mode 100644 index 0000000..8d85561 --- /dev/null +++ b/writingdoc/structure.html @@ -0,0 +1,257 @@ + + + + +Writing Documentation for Boost - Documentation Structure + + + + + + + +
+

C++ Boost

+
+

Writing Documentation for Boost

+

Documentation Structure

+
+
+
+
Introduction
+
Standards Conforming Documentation
+
+
Document elements
+
+
Summary
+
Requirements
+
Detailed specifications
+
References to the Standard C++ library
+
References to the Standard C library
+
+
Other conventions
+
+
Type descriptions
+
+
+
More Information
+
+
Function semantic element explanations
+
+
Requires
+
Effects
+
Postconditions
+
Returns
+
Throws
+
Complexity
+
Rationale
+
+
+
Footnotes
+
+

Introduction

+

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.

+

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.

+

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.

+

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.

+

Standards Conforming Documentation

+

Document elements

+

Each document contains the following elements, as applicable(1):

+ +

Summary

+

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.

+

Paragraphs labeled "Note(s):" or "Example(s):" are informative, other paragraphs + are normative.

+

The summary and the detailed specifications are presented in the order:

+ +

Requirements

+

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:

+ +

Interface convention requirements are stated as generally as possible. Instead + of stating "class X has to define a member function operator++()," + the interface requires "for any object x of class X, + ++x is defined." That is, whether the operator is a member is unspecified.

+

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.

+

Template argument requirements are sometimes referenced by name.

+

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.(2)

+

Detailed specification

+

The detailed specifications each contain the following elements:

+ +

Descriptions of class member functions follow the order (as appropriate)(3):

+ +

Descriptions of function semantics contain the following elements + (as appropriate)(4):

+
+
Requires: the preconditions for calling the + function
+
Effects: the actions performed by the function
+
Postconditions: the observable results + established by the function
+
Returns: a description of the value(s) returned + by the function
+
Throws: any exceptions thrown by the function, + and the conditions that would cause the exception
+
Complexity: the time and/or space complexity + of the function
+
Rationale: the rationale for the function's design + or existence
+
+

Complexity requirements specified in the library clauses are upper bounds, + and implementations that provide better complexity guarantees satisfy the requirements.

+

References to the C++ Standard library

+

References to the C Standard library

+

Other conventions

+

These conventions are for describing implementation-defined types, and member + functions.

+

Type descriptions

+

The Requirements subclauses may describe names that are used to specify constraints + on template arguments.

+

More Information

+

Function semantic element explanations

+

The function semantic element description above + is taken directly from the C++ standard, and is quite terse. Here is a more + detailed explanation of each of the elements.

+

Note the use of the <code> ... </code> font tag to + distinguish actual C++ usage from English prose.

+

Requires

+

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, +

 
+void limit( int * p, int min, int max );
+
+
+
Requires: p != 0 && min <= max
+
+

Requirements already enforced by the C++ language rules (such as the type of + arguments) are not repeated in Requires paragraphs.

+

Effects

+

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.

+

If an effect is specified in one of the other elements, particularly postconditions, + returns, or throws, it is not also described in the effects + paragraph. Having only a single description ensures that there is one and only + one specification, and thus eliminates the risk of divergence.

+

Postconditions

+

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:

+
 
+void make_zero_if_negative( int & x );
+
+
+
Postcondition: x >= 0
+
+

Returns

+

The value returned by the function, usually in the form of a C++ expression. + For example:

+
+int sum( int x, int y );
+
+
+
Returns: x + y
+
+

Only specify the return value; the type is already dictated by C++ language + rules. +

Throws

+

Specify both the type of exception thrown, and the condition that causes the + exception to be thrown. For example, the std::basic_string class + specifies: +

 
+void resize(size_type n, charT c);
+
+
+
Throws: length_error if n > max_size().
+
+

Complexity

+

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.

+

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.

+

Complexity is often specified in generalized + "Big-O" notation.

+

Rationale

+

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.

+

Footnotes

+
+
(1) + 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.
+
(2) Although in some cases the + code is unambiguously the optimum implementation.
+
(3) 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.
+
(4) 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.
+
+
+

Revised + + 05 November, 2001 + +

+

© Copyright William E. Kempf + 2001. All Rights Reserved.

+ + diff --git a/writingdoc/template/acknowledgments.html b/writingdoc/template/acknowledgments.html new file mode 100644 index 0000000..18c7453 --- /dev/null +++ b/writingdoc/template/acknowledgments.html @@ -0,0 +1,31 @@ + + + + +{{Library}} - Acknowledgments + + + + + + + +
+

C++ Boost

+
+

{{Library}}

+

Acknowledgments

+
+
+{{text}} +
+

Revised + + 05 November, 2001 + +

+

© Copyright {{author}} + 2002. All Rights Reserved.

+ + diff --git a/writingdoc/template/bibliography.html b/writingdoc/template/bibliography.html new file mode 100644 index 0000000..9cff452 --- /dev/null +++ b/writingdoc/template/bibliography.html @@ -0,0 +1,31 @@ + + + + +{{Library}} - Bibliography + + + + + + + +
+

C++ Boost

+
+

{{Library}}

+

Bibliography

+
+
+{{bibliographical information}} +
+

Revised + + 05 November, 2001 + +

+

© Copyright {{author}} + 2002. All Rights Reserved.

+ + diff --git a/writingdoc/template/configuration.html b/writingdoc/template/configuration.html new file mode 100644 index 0000000..d8f4e26 --- /dev/null +++ b/writingdoc/template/configuration.html @@ -0,0 +1,90 @@ + + + + +{{Library}} - Configuration + + + + + + + +
+

C++ Boost

+
+

{{Library}}

+

Configuration

+
+
+
+
Introduction
+
Application Defined Macros
+
Public Library Defined Macros
+
Library Defined Implementation Macros
+
+

Introduction

+

{{library}} uses several configuration macros in <boost/config.hpp>, + as well as configuration macros meant to be supplied by the application. These + macros are documented here.

+

Application Defined Macros

+

These are the macros that may be defined by an application using {{library}}.

+ + + + + + + + + + + + + +
MacroMeaning
{{macro}}{{meaning}}
{{macro}}{{meaning}}
+

Public Library Defined Macros

+

These macros are defined by {{library}} but are expected to be used by application + code.

+ + + + + + + + + + + + + +
MacroMeaning
{{macro}}{{meaning}}
{{macro}}{{meaning}}
+

Library Defined Implementation Macros

+

These macros are defined by {{library}} and are implementation details of interest + only to implementers.

+ + + + + + + + + + + + + +
MacroMeaning
{{macro}}{{meaning}}
{{macro}}{{meaning}}
+
+

Revised + + 05 November, 2001 + +

+

© Copyright {{author}} + 2002. All Rights Reserved.

+ + diff --git a/writingdoc/template/definitions.html b/writingdoc/template/definitions.html new file mode 100644 index 0000000..557fb38 --- /dev/null +++ b/writingdoc/template/definitions.html @@ -0,0 +1,34 @@ + + + + +{{Library}} - Definitions + + + + + + + +
+

C++ Boost

+
+

{{Library}}

+

Definitions

+
+
+
+
{{term}}: {{definition}}
+
{{term}}: {{definition}}
+
+
+

Revised + + 05 November, 2001 + +

+

© Copyright {{author}} + 2002. All Rights Reserved.

+ + diff --git a/writingdoc/template/faq.html b/writingdoc/template/faq.html new file mode 100644 index 0000000..62da4bb --- /dev/null +++ b/writingdoc/template/faq.html @@ -0,0 +1,38 @@ + + + + +{{Library}} - FAQ + + + + + + + +
+

C++ Boost

+
+

{{Library}}

+

Frequently Asked Questions (FAQs)

+
+
+
+
{{question}}
+
{{question}}
+
+

{{question}}

+

{{answer}}

+

{{question}}

+

{{answer}}

+
+

Revised + + 05 November, 2001 + +

+

© Copyright {{author}} + 2002. All Rights Reserved.

+ + diff --git a/writingdoc/template/header.html b/writingdoc/template/header.html new file mode 100644 index 0000000..435dec9 --- /dev/null +++ b/writingdoc/template/header.html @@ -0,0 +1,181 @@ + + + + +{{library}} - <{{header}}> + + + + + + + +
+

C++ Boost

+
+

{{library}}

+

Header <{{header}}>

+
+
+

Contents

+
+
Introduction
+
Macros
+
+
{{macro name}}
+
+
Values
+
+
{{value name}}
+
+
Types
+
+
{{type name}}
+
+
Classes
+
+
Class {{class name}}
+
+
Class {{class name}} synopsis
+
Class {{class name}} constructors and destructor
+
Class {{class name}} comparison functions
+
Class {{class name}} modifier functions
+
Class {{class name}} observer functions
+
Class {{class name}} static functions
+
+
+
Functions
+
+
{{function name}}
+
+
Objects
+
+
{{object name}}
+
+
Example(s)
+
+
+

Introduction

+

{{Introductory text}}

+

Macros

+

{{Macro specifications}}

+

Values

+

{{Value specifications}}

+

Types

+

{{Type specifications}}

+

Classes

+

Class {{name}}

+

{{class overview text}}

+

Class {{name}} synopsis

+
+namespace boost
+{
+    class {{name}}
+	{
+	};
+};
+
+

Class {{name}} constructors and destructor

+
+{{constructor}}
+
+
+
Requires: {{text}}
+
Effects: {{text}}
+
Postconditions: {{text}}
+
Returns: {{text}}
+
Throws: {{text}}
+
Complexity: {{text}}
+
Rationale: {{text}}
+
+
+{{destructor}}
+
+
+
Requires: {{text}}
+
Effects: {{text}}
+
Postconditions: {{text}}
+
Returns: {{text}}
+
Throws: {{text}}
+
Complexity: {{text}}
+
Rationale: {{text}}
+
+

Class {{name}} comparison functions

+
+{{function}}
+
+
+
Requires: {{text}}
+
Effects: {{text}}
+
Postconditions: {{text}}
+
Returns: {{text}}
+
Throws: {{text}}
+
Complexity: {{text}}
+
Rationale: {{text}}
+
+

Class {{name}} modifier functions

+
+{{function}}
+
+
+
Requires: {{text}}
+
Effects: {{text}}
+
Postconditions: {{text}}
+
Returns: {{text}}
+
Throws: {{text}}
+
Complexity: {{text}}
+
Rationale: {{text}}
+
+

Class {{name}} observer functions

+
+{{function}}
+
+
+
Requires: {{text}}
+
Effects: {{text}}
+
Postconditions: {{text}}
+
Returns: {{text}}
+
Throws: {{text}}
+
Complexity: {{text}}
+
Rationale: {{text}}
+
+

Class {{name}} static functions

+
+{{function}}
+
+
+
Requires: {{text}}
+
Effects: {{text}}
+
Postconditions: {{text}}
+
Returns: {{text}}
+
Throws: {{text}}
+
Complexity: {{text}}
+
Rationale: {{text}}
+
+

Functions

+
+{{function}}
+
+
+
Requires: {{text}}
+
Effects: {{text}}
+
Postconditions: {{text}}
+
Returns: {{text}}
+
Throws: {{text}}
+
Complexity: {{text}}
+
Rationale: {{text}}
+
+

Objects

+

{{Object specifications}}

+

Example(s)

+

{{Example(s)}}

+

Revised + + 05 November, 2001 + +

+

© Copyright {{author}} + 2002. All Rights Reserved.

+ + diff --git a/writingdoc/template/index.html b/writingdoc/template/index.html new file mode 100644 index 0000000..25ba901 --- /dev/null +++ b/writingdoc/template/index.html @@ -0,0 +1,70 @@ + + + + +{{Library}} + + + + + + + +
+

C++ Boost

+
+

{{Library}}

+

Index

+
+
+

Contents

+
+
Overview
+
Reference
+
+
{{header}}
+
+
Macros
+
+
{{macro name}}
+
+
Values
+
+
{{value name}}
+
+
Types
+
+
{{type name}}
+
+
Classes
+
+
{{class name}}
+
+
Functions
+
+
{{function name}}
+
+
Objects
+
+
{{object name}}
+
+
+
+
Configuration Information
+
Rationale
+
Definitions
+
Frequently Asked Questions (FAQs)
+
Bibliography
+
Acknowledgments
+
+
+

Revised + + 05 November, 2001 + +

+

© Copyright {{author}} + 2002. All Rights Reserved.

+ + diff --git a/writingdoc/template/overview.html b/writingdoc/template/overview.html new file mode 100644 index 0000000..efa9f72 --- /dev/null +++ b/writingdoc/template/overview.html @@ -0,0 +1,47 @@ + + + + +{{Library}} - Overview + + + + + + + +
+

C++ Boost

+
+

{{Library}}

+

Overview

+
+
+
+
Introduction
+
First topic
+
Second topic
+
Footnotes
+
+

Introduction

+

{{text}}

+

First Topic

+

{{text}}

+

Second Topic

+

{{text}}

+

Footnotes

+
+
(1) {{text}}
+
(2) {{text}}
+
+
+

Revised + + 05 November, 2001 + +

+

© Copyright {{author}} + 2002. All Rights Reserved.

+ + diff --git a/writingdoc/template/rationale.html b/writingdoc/template/rationale.html new file mode 100644 index 0000000..b41b466 --- /dev/null +++ b/writingdoc/template/rationale.html @@ -0,0 +1,47 @@ + + + + +{{Library}} - Rationale + + + + + + + +
+

C++ Boost

+
+

{{Library}}

+

Rationale

+
+
+
+
Introduction
+
First topic
+
Second topic
+
Footnotes
+
+

Introduction

+

{{text}}

+

First Topic

+

{{text}}

+

Second Topic

+

{{text}}

+

Footnotes

+
+
(1) {{text}}
+
(2) {{text}}
+
+
+

Revised + + 05 November, 2001 + +

+

© Copyright {{author}} + 2002. All Rights Reserved.

+ +