$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: asutton_at_[hidden]
Date: 2007-08-31 11:42:15
Author: asutton
Date: 2007-08-31 11:42:11 EDT (Fri, 31 Aug 2007)
New Revision: 39085
URL: http://svn.boost.org/trac/boost/changeset/39085
Log:
More docs
Added:
   sandbox/boost_docs/trunk/libs/standard/doc/templates.qbk   (contents, props changed)
Text files modified: 
   sandbox/boost_docs/trunk/libs/standard/doc/Jamfile                                         |   129 ++++++++++++++++++--------------------- 
   sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/container.qbk               |    25 +++++++                                 
   sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/forward_container.qbk       |    13 ++++                                    
   sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/random_access_container.qbk |    50 +++++++++++++++                         
   sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/reversible_container.qbk    |    10 --                                      
   sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/default_constructible.qbk    |    10 +-                                      
   sandbox/boost_docs/trunk/libs/standard/doc/std.qbk                                         |    16 ----                                    
   7 files changed, 154 insertions(+), 99 deletions(-)
Modified: sandbox/boost_docs/trunk/libs/standard/doc/Jamfile
==============================================================================
--- sandbox/boost_docs/trunk/libs/standard/doc/Jamfile	(original)
+++ sandbox/boost_docs/trunk/libs/standard/doc/Jamfile	2007-08-31 11:42:11 EDT (Fri, 31 Aug 2007)
@@ -7,73 +7,62 @@
 
 xml std : std.qbk ;
 
-boostbook standalone
-    :
-        std
-    :
-        # HTML options first:
-        # Use graphics not text for navigation:
-        <xsl:param>navig.graphics=1
-        # How far down we chunk nested sections, basically all of them:
-        <xsl:param>chunk.section.depth=10
-        # Don't put the first section on the same page as the TOC:
-        <xsl:param>chunk.first.sections=1
-        # How far down sections get TOC's
-        <xsl:param>toc.section.depth=10
-        # Max depth in each TOC:
-        <xsl:param>toc.max.depth=4
-        # How far down we go with TOC's
-        <xsl:param>generate.section.toc.level=10
-        # Logo location:
-        <xsl:param>boost.logo=../boost.png
-        <xsl:param>annotation.support=1
-
-        # The page style
-        <xsl:param>page.style="'website'"
-        # Show chapters select box
-        <xsl:param>grouped.links.chapters.show="'true'"
-        # GroupedLinks xml definition chapters location
-        <xsl:param>grouped.links.chapters.xml="'boost_libs_grouped_links.xml'"
-        # Select the base url for the chapters GroupedLinks
-        <xsl:param>grouped.links.chapters.url="'http://www.boost.org/libs/'"
-        # Show sections select box
-        <xsl:param>grouped.links.sections.show="'true'"
-        # GroupedLinks xml definition sections location
-        <xsl:param>grouped.links.sections.xml="'sections_grouped_links.xml'"
-        # Select the base url for the chapters GroupedLinks
-        <xsl:param>grouped.links.sections.url="'./'"
-        # Show the Google Search Box
-        <xsl:param>search.box.show="'true'"
-        # Location of the cse defintion
-        <xsl:param>search.box.cse.definition.src="'http://www.drivehq.com/web/matias.capeletto/bimap/doc/html/context8.xml'"
-
-        # PDF Options:
-        # TOC Generation: this is needed for FOP-0.9 and later:
-        # <xsl:param>fop1.extensions=1
-        <xsl:param>xep.extensions=1
-        # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
-        <xsl:param>fop.extensions=0
-        # No indent on body text:
-        <xsl:param>body.start.indent=0pt
-        # Margin size:
-        <xsl:param>page.margin.inner=0.5in
-        # Margin size:
-        <xsl:param>page.margin.outer=0.5in
-        # Yes, we want graphics for admonishments:
-        <xsl:param>admon.graphics=1
-        # Set this one for PDF generation *only*:
-        # default pnd graphics are awful in PDF form,
-        # better use SVG's instead:
-        #<xsl:param>admon.graphics.extension=".svg"
-    ;
-
-
-
-
-
-
-
-
-
-
-
+# boostbook standalone
+#     :
+#         std
+#     :
+#         # HTML options first:
+#         # Use graphics not text for navigation:
+#         <xsl:param>navig.graphics=1
+#         # How far down we chunk nested sections, basically all of them:
+#         <xsl:param>chunk.section.depth=10
+#         # Don't put the first section on the same page as the TOC:
+#         <xsl:param>chunk.first.sections=1
+#         # How far down sections get TOC's
+#         <xsl:param>toc.section.depth=10
+#         # Max depth in each TOC:
+#         <xsl:param>toc.max.depth=4
+#         # How far down we go with TOC's
+#         <xsl:param>generate.section.toc.level=10
+#         # Logo location:
+#         <xsl:param>boost.logo=../boost.png
+#         <xsl:param>annotation.support=1
+#
+#         # The page style
+#         <xsl:param>page.style="'website'"
+#         # Show chapters select box
+#         <xsl:param>grouped.links.chapters.show="'true'"
+#         # GroupedLinks xml definition chapters location
+#         <xsl:param>grouped.links.chapters.xml="'boost_libs_grouped_links.xml'"
+#         # Select the base url for the chapters GroupedLinks
+#         <xsl:param>grouped.links.chapters.url="'http://www.boost.org/libs/'"
+#         # Show sections select box
+#         <xsl:param>grouped.links.sections.show="'true'"
+#         # GroupedLinks xml definition sections location
+#         <xsl:param>grouped.links.sections.xml="'sections_grouped_links.xml'"
+#         # Select the base url for the chapters GroupedLinks
+#         <xsl:param>grouped.links.sections.url="'./'"
+#         # Show the Google Search Box
+#         <xsl:param>search.box.show="'true'"
+#         # Location of the cse defintion
+#         <xsl:param>search.box.cse.definition.src="'http://www.drivehq.com/web/matias.capeletto/bimap/doc/html/context8.xml'"
+#
+#         # PDF Options:
+#         # TOC Generation: this is needed for FOP-0.9 and later:
+#         # <xsl:param>fop1.extensions=1
+#         <xsl:param>xep.extensions=1
+#         # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
+#         <xsl:param>fop.extensions=0
+#         # No indent on body text:
+#         <xsl:param>body.start.indent=0pt
+#         # Margin size:
+#         <xsl:param>page.margin.inner=0.5in
+#         # Margin size:
+#         <xsl:param>page.margin.outer=0.5in
+#         # Yes, we want graphics for admonishments:
+#         <xsl:param>admon.graphics=1
+#         # Set this one for PDF generation *only*:
+#         # default pnd graphics are awful in PDF form,
+#         # better use SVG's instead:
+#         #<xsl:param>admon.graphics.extension=".svg"
+#     ;
Modified: sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/container.qbk
==============================================================================
--- sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/container.qbk	(original)
+++ sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/container.qbk	2007-08-31 11:42:11 EDT (Fri, 31 Aug 2007)
@@ -206,6 +206,31 @@
     ]
 ]
 
+[heading Invariants]
+[table
+    [[Name] [Description]]
+    [
+        [Valid Range]
+        [
+            \[`c.begin()`, `c.end()`) is a valid range.
+        ]
+    ]
+    [
+        [Range Size]
+        [
+            `c.size()` is the same as the distance from `a.begin()` to `a.end()`.
+        ]
+    ]
+    [
+        [Completeness]
+        [
+            Iterating over the elements in the range \[c.begin(), c.end()) will iterate
+            over every element contained by `c`.
+        ]
+    ]
+]
+
+
 [heading Examples]
 A type `C` is required to be a container if it explicitly refers to any of
 its associated types or calls any of its member functions.
Modified: sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/forward_container.qbk
==============================================================================
--- sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/forward_container.qbk	(original)
+++ sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/forward_container.qbk	2007-08-31 11:42:11 EDT (Fri, 31 Aug 2007)
@@ -58,6 +58,19 @@
     ]
 ]
 
+[heading Invariants]
+[table
+    [[Name] [Description]]
+    [
+        [Ordering]
+        [
+            Subsequent iterations through the elements of a [ForwardContainer] will access
+            its elements in the same order, providing there have been no intervening mutative
+            operations (i.e., insertions or erasures).
+        ]
+    ]
+]
+
 [heading Examples]
 
 [endsect]
\ No newline at end of file
Modified: sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/random_access_container.qbk
==============================================================================
--- sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/random_access_container.qbk	(original)
+++ sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/random_access_container.qbk	2007-08-31 11:42:11 EDT (Fri, 31 Aug 2007)
@@ -6,5 +6,55 @@
  /]
 
 [section Random Access Container]
+A type `C` is a /random access container/ if an object of type `C` is a [ReversibleContainer]
+that provides amortized constant time access to any element it contains.
+
+The iterators of a [RandomAccessContainer] model the [RandomAccessIterator] concept.
+
+[heading Refinement Of]
+[ReversibleContainer]
+
+[heading Notation]
+[table
+    [[Expression] [Description]]
+    [[`C`] [A type that models the [RandomAccessContainer] concept.]]
+    [[`c`, `d`] [Objects of type `C`.]]
+    [[`T`] [The type of an object stored by `C`.]]
+    [[`n`] [An object convertible to type `C::size_type`.]]
+]
+
+[heading Requirements]
+[table
+    [[Name] [Expression] [Result Type] [Description]]
+    [
+        [Element Access]
+        [`c[n]`]
+        [
+            `C::reference` if `c` is mutable[br]
+            `C::const_reference` otherwise.
+        ]
+        [
+            Returns the `n`[super th] element from the beginning of the contaner.
+
+            *Requirements:* `n` is convertible to `C::size_type`.
+
+            *Complexity:* Amortized constant.
+        ]
+    ]
+]
+
+[heading Invariants]
+[table
+    [[Name] [Description]]
+    [
+        [Element Access]
+        [
+            The element `c[n]` is the same as that obtained by incrementing `a.begin()`
+            `n` times and dereferencing the resulting iterator.
+        ]
+    ]
+]
+
+[heading Examples]
 
 [endsect]
\ No newline at end of file
Modified: sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/reversible_container.qbk
==============================================================================
--- sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/reversible_container.qbk	(original)
+++ sandbox/boost_docs/trunk/libs/standard/doc/concepts/containers/reversible_container.qbk	2007-08-31 11:42:11 EDT (Fri, 31 Aug 2007)
@@ -9,7 +9,7 @@
 A type `C` is a /reversible container/ if an object of type `C` is a [ForwardContainer]
 that allows backwards iteration through the container.
 
-The iterators of a [ReversibleContainer] model the [BidirectionalIterators] concept.
+The iterators of a [ReversibleContainer] model the [BidirectionalIterator] concept.
 Containers modeling this concept support "multipass" algorithsm and allow multiple
 iterators into the same container to be active at the same time.
 
@@ -109,12 +109,4 @@
 
 [heading Examples]
 
-    // Asserts that the forward and reverse iterator ranges of a container
-    // are the same distance.
-    template <typename C>
-    void equivalent_ranges(const C& c)
-    {
-        assert(distance(c.begin(), c.end) == distance(c.rbegin(), c.rend()));
-    }
-
 [endsect]
\ No newline at end of file
Modified: sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/default_constructible.qbk
==============================================================================
--- sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/default_constructible.qbk	(original)
+++ sandbox/boost_docs/trunk/libs/standard/doc/concepts/utilities/default_constructible.qbk	2007-08-31 11:42:11 EDT (Fri, 31 Aug 2007)
@@ -12,20 +12,20 @@
 that can be called without arguments.
 
 [note
-[StdDefaultConstructible] types may or may not initialize objects to a default value
+[DefaultConstructible] types may or may not initialize objects to a default value
 or state depending on the type itself and the syntax used for construction. Objects
 that are not initialized to a default are /uninitialized. Reading from or otherwise
 using uninitialized objects often results in undefined behavior.
 ]
 
 [heading Refinement of]
-[StdDestructible]
+[Destructible]
 
 [heading Notation]
 The following expressions are used in this document:
 [table
     [[Expression] [Description]]
-    [[T] [A [StdDefaultConstructible] type.]]
+    [[T] [A [DefaultConstructible] type.]]
     [[x] [An object of type `T`.]]
 ]
 
@@ -56,10 +56,10 @@
 
 [heading Notes]
 If the default constructor of a class type `T` is `private`, then the `T` does not
-model the [StdDefaultConstructible] concept.
+model the [DefaultConstructible] concept.
 
 [heading Examples]
-A type `T` is required to be [StdDefaultConstructible] when an object of type `T` is
+A type `T` is required to be [DefaultConstructible] when an object of type `T` is
 declared or when the default constructor of `T` is invoked without arguments.
 
     // Declaring a variable without explicitly calling a constructor requires a
Modified: sandbox/boost_docs/trunk/libs/standard/doc/std.qbk
==============================================================================
--- sandbox/boost_docs/trunk/libs/standard/doc/std.qbk	(original)
+++ sandbox/boost_docs/trunk/libs/standard/doc/std.qbk	2007-08-31 11:42:11 EDT (Fri, 31 Aug 2007)
@@ -19,21 +19,7 @@
     ]
 ]
 
-[/ Quick Reference Templates /]
-[template Destructible[] [link standards.concepts.utilities.destructible [^Destructible]]]
-[template DefaultConstructible[] [link standard.concepts.utilities.default_constructible [^DefaultConstructible]]]
-[template CopyConstructible[] [link standard.concepts.utilities.copy_constructible [^CopyConstructible]]]
-[template Assignable[] [link standard.concepts.utilities.assignable [^Assignable]]]
-[template EqualityComparable[] [link standard.concepts.utilities.equality_comparable [^EqualityComparable]]]
-[template LessThanComparable[] [link standard.concepts.utilities.less_than_comparable [^LessThanComparable]]]
-
-[template Container[] [link standard.concepts.containers.general_concepts.container [^Container]]]
-
-[template InputIterator[] [link standard.concepts.iterators.input_iterator [^InputIterator]]]
-[template OutputIterator[] [link standard.concepts.iterators.output_iterator [^OutputIterator]]]
-[template ForwardIterator[] [link standard.concepts.iterators.forward_iterator [^ForwardIterator]]]
-[template BidirectionalIterator[] [link standard.concepts.iterators.bidirectional_iterator [^BidirectionalIterator]]]
-[template RandomAccessIterator[] [link standard.concepts.iterators.random_access_iterator [^RandomAccessIterator]]]
+[include templates.qbk]
 
 [/ Contents ]
 [include concepts/concepts.qbk]
Added: sandbox/boost_docs/trunk/libs/standard/doc/templates.qbk
==============================================================================
--- (empty file)
+++ sandbox/boost_docs/trunk/libs/standard/doc/templates.qbk	2007-08-31 11:42:11 EDT (Fri, 31 Aug 2007)
@@ -0,0 +1,62 @@
+[/
+ / Copyright (c) 2007 Andrew Sutton
+ /
+ / Distributed under the Boost Software License, Version 1.0. (See accompanying
+ / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ /]
+
+[/ Formatting Macros /]
+[template super[x]'''<superscript>'''[x]'''</superscript>''']
+[template sub[x]'''<subscript>'''[x]'''</subscript>''']
+
+[/ Quick Reference Templates /]
+[template Destructible[] [link
+    standards.concepts.utilities.destructible
+    [^Destructible]]]
+[template DefaultConstructible[] [link
+    standard.concepts.utilities.default_constructible
+    [^DefaultConstructible]]]
+[template CopyConstructible[] [link
+    standard.concepts.utilities.copy_constructible
+    [^CopyConstructible]]]
+[template Assignable[] [link
+    standard.concepts.utilities.assignable
+    [^Assignable]]]
+[template EqualityComparable[] [link
+    standard.concepts.utilities.equality_comparable
+    [^EqualityComparable]]]
+[template LessThanComparable[] [link
+    standard.concepts.utilities.less_than_comparable
+    [^LessThanComparable]]]
+
+[template Container[] [link
+    standard.concepts.containers.general_concepts.container
+    [^Container]]]
+[template ForwardContainer[] [link
+    standard.concepts.containers.general_concepts.forward_container
+    [^ForwardContainer]]]
+[template ReversibleContainer[] [link
+    standard.concepts.containers.general_concepts.reversible_container
+    [^ReversibleContainer]]]
+[template RandomAccessContainer[] [link
+    standard.concepts.containers.general_concepts.random_access_container
+    [^RandomAccessContainer]]]
+
+[template Iterator[] [link
+    standard.concepts.iterators.iterator
+    [^Iterator]]]
+[template InputIterator[] [link
+    standard.concepts.iterators.input_iterator
+    [^InputIterator]]]
+[template OutputIterator[] [link
+    standard.concepts.iterators.output_iterator
+    [^OutputIterator]]]
+[template ForwardIterator[] [link
+    standard.concepts.iterators.forward_iterator
+    [^ForwardIterator]]]
+[template BidirectionalIterator[] [link
+    standard.concepts.iterators.bidirectional_iterator
+    [^BidirectionalIterator]]]
+[template RandomAccessIterator[] [link
+    standard.concepts.iterators.random_access_iterator
+    [^RandomAccessIterator]]]
\ No newline at end of file