Compare commits

..

6 Commits

Author SHA1 Message Date
Daniel James
b2d616d789 Merge.
[SVN r43270]
2008-02-16 09:50:01 +00:00
Daniel James
2321b5c2fe Merge from trunk.
[SVN r43211]
2008-02-10 15:26:54 +00:00
Daniel James
b4b13ae470 Merge.
[SVN r43162]
2008-02-07 18:54:14 +00:00
Daniel James
fbde78a968 Merge.
[SVN r42905]
2008-01-21 20:15:02 +00:00
Daniel James
c1aea25e44 Merge from trunk, finally.
[SVN r41817]
2007-12-07 01:12:02 +00:00
Daniel James
b148e2fee6 Create a branch to fix links on.
[SVN r41573]
2007-12-02 10:07:42 +00:00
77 changed files with 16 additions and 24 deletions

View File

@@ -25,17 +25,17 @@
[def __implementation_of_metafunctions__ [link boost.range.reference.semantics.metafunctions implementation of metafunctions]]
[def __implementation_of_functions__ [link boost.range.reference.semantics.functions implementation of functions]]
[def __single_pass_iterator__ [@/libs/iterator/doc/new-iter-concepts.html#singls-pass-iterators-lib-single-pass-iterators Single Pass Iterator]]
[def __forward_traversal_iterator__ [@/libs/iterator/doc/new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators Forward Traversal Iterator]]
[def __bidirectional_traversal_iterator__ [@/libs/iterator/doc/new-iter-concepts.html#bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators Bidirectional Traversal Iterator]]
[def __random_access_traversal_iterator__ [@/libs/iterator/doc/new-iter-concepts.html#random-access-traversal-iterators-lib-random-access-traversal-iterators Random Access Traversal Iterator]]
[def __new_style_iterators__ [@/libs/iterator/doc/new-iter-concepts.html new style iterators]]
[def __iterator_concepts__ [@/libs/iterator/doc/iterator_concepts.html Iterator concepts]]
[def __single_pass_iterator__ [@../../libs/iterator/doc/new-iter-concepts.html#singls-pass-iterators-lib-single-pass-iterators Single Pass Iterator]]
[def __forward_traversal_iterator__ [@../../libs/iterator/doc/new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators Forward Traversal Iterator]]
[def __bidirectional_traversal_iterator__ [@../../libs/iterator/doc/new-iter-concepts.html#bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators Bidirectional Traversal Iterator]]
[def __random_access_traversal_iterator__ [@../../libs/iterator/doc/new-iter-concepts.html#random-access-traversal-iterators-lib-random-access-traversal-iterators Random Access Traversal Iterator]]
[def __new_style_iterators__ [@../../libs/iterator/doc/new-iter-concepts.html new style iterators]]
[def __iterator_concepts__ [@../../libs/iterator/doc/iterator_concepts.html Iterator concepts]]
[def __container__ [@http://www.sgi.com/Technology/STL/Container.html Container]]
[def __metafunctions__ [@/libs/mpl/doc/refmanual/metafunction.html metafunctions]]
[def __concept_check__ [@/libs/concept_check/index.html Boost Concept Check library]]
[def __boost_array__ [@/libs/array/index.html boost::array]]
[def __metafunctions__ [@../../libs/mpl/doc/refmanual/metafunction.html metafunctions]]
[def __concept_check__ [@../../libs/concept_check/index.html Boost Concept Check library]]
[def __boost_array__ [@../../libs/array/index.html boost::array]]
[def __the_forwarding_problem__ [@http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1385.htm The Forwarding Problem]]
@@ -134,9 +134,9 @@ The motivation for the Range concept is that there are many useful Container-lik
Because of the second requirement, a Range object must be passed by (const or non-const) reference in generic code.
The operations that can be performed on a Range is dependent on the [@/libs/range/iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal traversal category] of the underlying iterator type. Therefore the range concepts are named to reflect which traversal category its iterators support. See also terminology and style guidelines. for more information about naming of ranges.
The operations that can be performed on a Range is dependent on the [@../../iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal traversal category] of the underlying iterator type. Therefore the range concepts are named to reflect which traversal category its iterators support. See also terminology and style guidelines. for more information about naming of ranges.
The concepts described below specifies associated types as [@/libs/mpl/doc/refmanual/metafunction.html metafunctions] and all functions as free-standing functions to allow for a layer of indirection.
The concepts described below specifies associated types as [@../../libs/mpl/doc/refmanual/metafunction.html metafunctions] and all functions as free-standing functions to allow for a layer of indirection.
[endsect]
@@ -332,7 +332,7 @@ __bidirectional_range__
[section Concept Checking]
Each of the range concepts has a corresponding concept checking class in the file [@/boost/range/concepts.hpp `boost/range/concepts.hpp`]. These classes may be used in conjunction with the __concept_check__ to insure that the type of a template parameter is compatible with a range concept. If not, a meaningful compile time error is generated. Checks are provided for the range concepts related to iterator traversal categories. For example, the following line checks that the type `T` models the __forward_range__ concept.
Each of the range concepts has a corresponding concept checking class in the file [@../../boost/range/concepts.hpp `boost/range/concepts.hpp`]. These classes may be used in conjunction with the __concept_check__ to insure that the type of a template parameter is compatible with a range concept. If not, a meaningful compile time error is generated. Checks are provided for the range concepts related to iterator traversal categories. For example, the following line checks that the type `T` models the __forward_range__ concept.
``
function_requires<ForwardRangeConcept<T> >();

0
doc/examples.html Normal file → Executable file
View File

0
doc/faq.html Normal file → Executable file
View File

0
doc/headers.html Normal file → Executable file
View File

0
doc/history_ack.html Normal file → Executable file
View File

0
doc/intro.html Normal file → Executable file
View File

0
doc/portability.html Normal file → Executable file
View File

0
doc/range.html Normal file → Executable file
View File

0
doc/style.css Normal file → Executable file
View File

0
doc/style.html Normal file → Executable file
View File

0
include/boost/range.hpp Normal file → Executable file
View File

0
include/boost/range/as_array.hpp Normal file → Executable file
View File

0
include/boost/range/as_literal.hpp Normal file → Executable file
View File

0
include/boost/range/begin.hpp Normal file → Executable file
View File

0
include/boost/range/category.hpp Normal file → Executable file
View File

0
include/boost/range/concepts.hpp Normal file → Executable file
View File

0
include/boost/range/config.hpp Normal file → Executable file
View File

0
include/boost/range/const_iterator.hpp Normal file → Executable file
View File

0
include/boost/range/const_reverse_iterator.hpp Normal file → Executable file
View File

0
include/boost/range/detail/as_literal.hpp Normal file → Executable file
View File

0
include/boost/range/detail/begin.hpp Normal file → Executable file
View File

0
include/boost/range/detail/collection_traits.hpp Normal file → Executable file
View File

View File

0
include/boost/range/detail/common.hpp Normal file → Executable file
View File

0
include/boost/range/detail/const_iterator.hpp Normal file → Executable file
View File

0
include/boost/range/detail/detail_str.hpp Normal file → Executable file
View File

0
include/boost/range/detail/difference_type.hpp Normal file → Executable file
View File

0
include/boost/range/detail/empty.hpp Normal file → Executable file
View File

0
include/boost/range/detail/end.hpp Normal file → Executable file
View File

0
include/boost/range/detail/implementation_help.hpp Normal file → Executable file
View File

0
include/boost/range/detail/iterator.hpp Normal file → Executable file
View File

0
include/boost/range/detail/remove_extent.hpp Normal file → Executable file
View File

0
include/boost/range/detail/sfinae.hpp Normal file → Executable file
View File

0
include/boost/range/detail/size.hpp Normal file → Executable file
View File

0
include/boost/range/detail/size_type.hpp Normal file → Executable file
View File

0
include/boost/range/detail/sizer.hpp Normal file → Executable file
View File

0
include/boost/range/detail/str_types.hpp Normal file → Executable file
View File

0
include/boost/range/detail/value_type.hpp Normal file → Executable file
View File

0
include/boost/range/detail/vc6/end.hpp Normal file → Executable file
View File

0
include/boost/range/detail/vc6/size.hpp Normal file → Executable file
View File

0
include/boost/range/difference_type.hpp Normal file → Executable file
View File

0
include/boost/range/distance.hpp Normal file → Executable file
View File

0
include/boost/range/empty.hpp Normal file → Executable file
View File

0
include/boost/range/end.hpp Normal file → Executable file
View File

0
include/boost/range/functions.hpp Normal file → Executable file
View File

0
include/boost/range/iterator.hpp Normal file → Executable file
View File

16
include/boost/range/iterator_range.hpp Normal file → Executable file
View File

@@ -28,13 +28,11 @@
# endif
#endif // #ifndef BOOST_OLD_IOSTREAMS
#include <boost/assert.hpp>
#include <boost/iterator/iterator_traits.hpp>
#include <boost/type_traits/is_abstract.hpp>
#include <boost/range/functions.hpp>
#include <boost/range/iterator.hpp>
#include <boost/range/difference_type.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/iterator/iterator_traits.hpp>
#include <boost/assert.hpp>
#include <iterator>
#include <algorithm>
#ifndef _STLP_NO_IOSTREAMS
@@ -167,12 +165,6 @@ namespace boost
//! iterator type
typedef IteratorT iterator;
private: // for return value of operator()()
typedef BOOST_DEDUCED_TYPENAME
boost::mpl::if_< boost::is_abstract<value_type>,
reference, value_type >::type abstract_value_type;
public:
iterator_range() : m_Begin( iterator() ), m_End( iterator() )
#ifndef NDEBUG
, singular( true )
@@ -360,8 +352,8 @@ namespace boost
// When storing transform iterators, operator[]()
// fails because it returns by reference. Therefore
// operator()() is provided for these cases.
//
abstract_value_type operator()( difference_type at ) const
//
value_type operator()( difference_type at ) const
{
BOOST_ASSERT( at >= 0 && at < size() );
return m_Begin[at];

0
include/boost/range/metafunctions.hpp Normal file → Executable file
View File

0
include/boost/range/mutable_iterator.hpp Normal file → Executable file
View File

0
include/boost/range/pointer.hpp Normal file → Executable file
View File

0
include/boost/range/rbegin.hpp Normal file → Executable file
View File

0
include/boost/range/reference.hpp Normal file → Executable file
View File

0
include/boost/range/rend.hpp Normal file → Executable file
View File

0
include/boost/range/result_iterator.hpp Normal file → Executable file
View File

0
include/boost/range/reverse_iterator.hpp Normal file → Executable file
View File

0
include/boost/range/reverse_result_iterator.hpp Normal file → Executable file
View File

0
include/boost/range/size.hpp Normal file → Executable file
View File

0
include/boost/range/size_type.hpp Normal file → Executable file
View File

0
include/boost/range/sub_range.hpp Normal file → Executable file
View File

0
include/boost/range/value_type.hpp Normal file → Executable file
View File

0
index.html Normal file → Executable file
View File

0
test/adl_conformance.cpp Normal file → Executable file
View File

0
test/adl_conformance_no_using.cpp Normal file → Executable file
View File

0
test/algorithm_example.cpp Normal file → Executable file
View File

0
test/array.cpp Normal file → Executable file
View File

0
test/compat2.cpp Normal file → Executable file
View File

0
test/compat3.cpp Normal file → Executable file
View File

0
test/const_ranges.cpp Normal file → Executable file
View File

0
test/extension_mechanism.cpp Normal file → Executable file
View File

0
test/iterator_pair.cpp Normal file → Executable file
View File

0
test/iterator_range.cpp Normal file → Executable file
View File

0
test/mfc.cpp Normal file → Executable file
View File

0
test/partial_workaround.cpp Normal file → Executable file
View File

0
test/reversible_range.cpp Normal file → Executable file
View File

0
test/std_container.cpp Normal file → Executable file
View File

0
test/string.cpp Normal file → Executable file
View File

0
test/sub_range.cpp Normal file → Executable file
View File