From e5d4c1c376dfea413d66893fc901f2e4bdc2dd3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorsten=20J=C3=B8rgen=20Ottosen?= Date: Sat, 5 Feb 2005 21:33:29 +0000 Subject: [PATCH] *** empty log message *** [SVN r27153] --- doc/utility_class.html | 58 +++++++++++++++++++++++++++++++++++------- 1 file changed, 49 insertions(+), 9 deletions(-) diff --git a/doc/utility_class.html b/doc/utility_class.html index 0ae3a70..e27e948 100644 --- a/doc/utility_class.html +++ b/doc/utility_class.html @@ -111,14 +111,16 @@ corresponding const_iterator is.

bool empty() const; public: // convenience - operator unspecified_bool_type() const; - bool operator unspecified_bool_type() const; + bool equal( const iterator_range& ) const; - + value_type& front() const; + value_type& back() const; + // for Random Access Range only: + value_type& operator[]( size_type at ) const; }; // stream output @@ -177,7 +179,19 @@ class=keyword>const; template< class ForwardRange > iterator_range< typename const_iterator_of<ForwardRange>::type > make_iterator_range( const ForwardRange& r ); - + + template< class Range > + iterator_range< typename range_iterator<Range>::type > + make_iterator_range( Range& r, + typename range_difference<Range>::type advance_begin, + typename range_difference<Range>::type advance_end ); + + template< class Range > + iterator_range< typename range_const_iterator<Range>::type > + make_iterator_range( const Range& r, + typename range_difference<Range>::type advance_begin, + typename range_difference<Range>::type advance_end ); + // convenience template< class Sequence, class ForwardRange > Sequence bool operator<( const ForwardRange1& l, const ForwardRange2& r );
Returns std::lexicographical_compare( begin(l), end(l), begin(r), end(r) );
+ +

+ +

+iterator_range make_iterator_range( Range& r, 
+                                    typename range_difference<Range>::type advance_begin, 
+                                    typename range_difference<Range>::type advance_end );
+
+
+ Effects: +
+iterator new_begin = begin( r ),
+iterator new_end   = end( r );
+std::advance( new_begin, advance_begin );
+std::advance( new_end, advance_end );
+return make_iterator_range( new_begin, new_end );
+
+

Sequence copy_range( const ForwardRange& r ); @@ -299,15 +331,23 @@ class can propagate constness since it knows what a corresponding template< class ForwardRange2 > sub_range& operator=( const ForwardRange2& r ); - public: - iterator begin(); + public: // Forward Range functions + iterator begin(); const_iterator begin() const; iterator end(); const_iterator end() const; + public: // convenience + value_type& front(); + const value_type& front() const; + value_type& back(); + const value_type& back() const; + // for Random Access Range only: + value_type& operator[]( size_type at ); + const value_type& operator[]( size_type at ) const; + public: - // rest of interface inherited from iterator_range + // rest of interface inherited from iterator_range }; } // namespace 'boost'