diff --git a/doc/range.htm b/doc/range.htm index 2f045a0..7819b69 100755 --- a/doc/range.htm +++ b/doc/range.htm @@ -11,7 +11,7 @@ -- purpose. It is provided "as is" without express or implied warranty. -->
--
-Value type - | --X::value_type - | --The type of the object stored in a Collection. -If the Collection is mutable then -the value type must be Assignable. -Otherwise the value type must be CopyConstructible. - | -
-Iterator type - | --X::iterator - | --The type of iterator used to iterate through a Collection's - elements. The iterator's value type is expected to be the - Collection's value type. A conversion - from the iterator type to the const iterator type must exist. - The iterator type must be an InputIterator. - | -
-Const iterator type - | --X::const_iterator - | --A type of iterator that may be used to examine, but not to modify, - a Collection's elements. - | -
-Reference type - | --X::reference - | --A type that behaves like a reference to the Collection's value type. -[1] - | -
-Const reference type - | --X::const_reference - | --A type that behaves like a const reference to the Collection's value type. - | -
-Pointer type - | --X::pointer - | --A type that behaves as a pointer to the Collection's value type. - | -
-Distance type - | --X::difference_type - | --A signed integral type used to represent the distance between two - of the Collection's iterators. This type must be the same as - the iterator's distance type. - | -
-Size type - | --X::size_type - | --An unsigned integral type that can represent any nonnegative value - of the Collection's distance type. - | -
-A type that is a model of Collection. +A type that is a model of Range. |
+Value type + | ++X::value_type + | ++The type of the object stored in a Range. + + | +
+Iterator type + | ++X::iterator + | ++The type of iterator used to iterate through a Range's + elements. The iterator's value type is expected to be the + Range's value type. A conversion + from the iterator type to the const iterator type must exist. + The iterator type must at least be an InputIterator. + | +
+Const iterator type + | ++X::const_iterator + | ++A type of iterator that may be used to examine, but not to modify, + a Range's elements. + | +
+Reference type + | ++X::reference + | ++A type that behaves like a reference to the Range's value type. +[1] + | +
+Distance type + | ++X::difference_type + | ++A signed integral type used to represent the distance between two + of the Range's iterators. This type must be the same as + the iterator's distance type. + | +
+Size type + | ++X::size_type + | ++An unsigned integral type that can represent any nonnegative value + of the Range's distance type. + | +
-size() is at most linear in the Collection's -size. empty() is amortized constant time. - +All four functions are at most amortized linear time. For +most practical purposes, one can expect +begin(), end() and empty() to be amortized constant +time. +
-For any Collection a, [a.begin(), a.end()) is a valid +For any Range a, [a.begin(), a.end()) is a valid range. |
Copyright © 2000 |
diff --git a/doc/style.css b/doc/style.css
new file mode 100755
index 0000000..52f82f1
--- /dev/null
+++ b/doc/style.css
@@ -0,0 +1,23 @@
+pre{
+ BORDER-RIGHT: gray 1pt solid;
+ PADDING-RIGHT: 2pt;
+ BORDER-TOP: gray 1pt solid;
+ DISPLAY: block;
+ PADDING-LEFT: 2pt;
+ PADDING-BOTTOM: 2pt;
+ BORDER-LEFT: gray 1pt solid;
+ MARGIN-RIGHT: 32pt;
+ PADDING-TOP: 2pt;
+ BORDER-BOTTOM: gray 1pt solid;
+ FONT-FAMILY: "Courier New", Courier, mono;
+ background-color: #EEEEEE;
+}
+
+
+.keyword{color: #0000FF;}
+.identifier{}
+.comment{font-style: italic; color: #008000;}
+.special{color: #800040;}
+.preprocessor{color: #3F007F;}
+.string{font-style: italic; color: #666666;}
+.literal{font-style: italic; color: #666666;}
diff --git a/doc/utility_class.html b/doc/utility_class.html
new file mode 100644
index 0000000..637cfad
--- /dev/null
+++ b/doc/utility_class.html
@@ -0,0 +1,201 @@
+
+
+
+
+
+
Having an abstraction that encapsulates a pair of iterators is very
+ useful. The standard library uses iterator_range class is templated on an iterator and should be
+used whenever super general code is needed. The sub_range class
+is templated on an ExternalRange
+and it is less general, but a bit easier to use since its template argument
+is easier to specify.
+
+
+
+
+ The intention of the
+ |
![]() |
+
+ Range Library+ |
+
+ Copyright © 2003-2004 Thorsten Ottosen +
++ Use, modification and distribution is subject to the Boost Software License, Version 1.0 + (see + http://www.boost.org/LICENSE_1_0.txt). +
+ ++ Boost.Range is a collection of concepts and utilities that are particularly + useful for specifying and implementing generic algorithms. The documentation + consists of the following sections: +
+ ++ (C) Copyright Thorsten Ottosen 2003-2004 +
+ +