From a9580e5a8a06870280641dcc875120a58dd96592 Mon Sep 17 00:00:00 2001 From: nobody Date: Mon, 23 Feb 2004 07:33:35 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create tag 'merged_to_RC_1_31_0'. [SVN r22369] --- development/boost/iterator_categories.hpp | 159 ----- development/boost/iterator_concepts.hpp | 172 ----- development/libs/iterator/concept_tests.cpp | 73 -- .../libs/iterator/iterator_categories.htm | 160 ----- .../libs/iterator/iterator_concepts.fig | 37 - .../libs/iterator/iterator_concepts.gif | Bin 3287 -> 0 bytes .../libs/iterator/iterator_concepts.htm | 663 ------------------ doc/index.html | 41 +- doc/index.pdf | Bin 0 -> 84308 bytes doc/index.rst | 17 - doc/iterator_traits.pdf | Bin 53611 -> 53847 bytes doc/pointee.html | 4 +- doc/pointee.pdf | Bin 67109 -> 67125 bytes doc/style.tex | 41 ++ doc/zip_iterator.pdf | Bin 69515 -> 69515 bytes example/Jamfile | 7 - include/boost/function_output_iterator.hpp | 4 +- .../detail/facade_iterator_category.hpp | 9 +- .../boost/iterator/iterator_categories.hpp | 6 +- include/boost/iterator/iterator_concepts.hpp | 231 ++++-- .../boost/iterator/permutation_iterator.hpp | 52 +- test/Jamfile | 2 - test/concept_tests.cpp | 20 +- test/filter_iterator_test.cpp | 6 +- test/indirect_iterator_test.cpp | 2 +- test/iterator_adaptor_cc.cpp | 22 +- test/iterator_adaptor_test.cpp | 8 +- test/iterator_archetype_cc.cpp | 42 +- test/iterator_archetype_default_ctor.cpp | 22 - test/lvalue_concept_fail_expected.cpp | 15 - test/permutation_iterator_test.cpp | 11 +- test/reverse_iterator_test.cpp | 12 +- test/transform_iterator_test.cpp | 2 +- 33 files changed, 297 insertions(+), 1543 deletions(-) delete mode 100644 development/boost/iterator_categories.hpp delete mode 100644 development/boost/iterator_concepts.hpp delete mode 100644 development/libs/iterator/concept_tests.cpp delete mode 100644 development/libs/iterator/iterator_categories.htm delete mode 100644 development/libs/iterator/iterator_concepts.fig delete mode 100644 development/libs/iterator/iterator_concepts.gif delete mode 100644 development/libs/iterator/iterator_concepts.htm create mode 100755 doc/index.pdf create mode 100755 doc/style.tex delete mode 100755 test/iterator_archetype_default_ctor.cpp delete mode 100644 test/lvalue_concept_fail_expected.cpp diff --git a/development/boost/iterator_categories.hpp b/development/boost/iterator_categories.hpp deleted file mode 100644 index 138a5be..0000000 --- a/development/boost/iterator_categories.hpp +++ /dev/null @@ -1,159 +0,0 @@ -#ifndef BOOST_ITERATOR_CATEGORIES_HPP -#define BOOST_ITERATOR_CATEGORIES_HPP - -#include -#include -#include -#include -#include - -namespace boost { - - // Return Type Categories - struct readable_iterator_tag { }; - struct writable_iterator_tag { }; - struct swappable_iterator_tag { }; - struct mutable_lvalue_iterator_tag : - virtual public writable_iterator_tag, - virtual public readable_iterator_tag { }; - struct constant_lvalue_iterator_tag : - virtual public readable_iterator_tag { }; - - // Traversal Categories - struct forward_traversal_tag { }; - struct bidirectional_traversal_tag : public forward_traversal_tag { }; - struct random_access_traversal_tag : public bidirectional_traversal_tag { }; - - struct error_iterator_tag { }; - - // Inherit from iterator_base if your iterator defines its own - // return_category and traversal_category. Otherwise, the "old style" - // iterator category will be mapped to the return_category and - // traversal_category. - struct new_iterator_base { }; - - namespace detail { - - struct return_category_from_nested_type { - template struct bind { - typedef typename Iterator::return_category type; - }; - }; - - struct traversal_category_from_nested_type { - template struct bind { - typedef typename Iterator::traversal_category type; - }; - }; - - template - struct choose_lvalue_return { - typedef typename ct_if::value, - boost::constant_lvalue_iterator_tag, - boost::mutable_lvalue_iterator_tag>::type type; - }; - - - template - struct iter_category_to_return { - typedef typename ct_if< - is_convertible::value, - typename choose_lvalue_return::type, - typename ct_if< - is_convertible::value, - boost::readable_iterator_tag, - typename ct_if< - is_convertible::value, - boost::writable_iterator_tag, - boost::error_iterator_tag - >::type - >::type - >::type type; - }; - - template - struct iter_category_to_traversal { - typedef typename ct_if< - is_convertible::value, - random_access_traversal_tag, - typename ct_if< - is_convertible::value, - bidirectional_traversal_tag, - forward_traversal_tag - >::type - >::type type; - }; - - struct return_category_from_old_traits { - template class bind { - typedef boost::detail::iterator_traits OldTraits; - typedef typename OldTraits::iterator_category Cat; - typedef typename OldTraits::value_type value_type; - public: - typedef iter_category_to_return::type type; - }; - }; - - struct traversal_category_from_old_traits { - template class bind { - typedef boost::detail::iterator_traits OldTraits; - typedef typename OldTraits::iterator_category Cat; - public: - typedef iter_category_to_traversal::type type; - }; - }; - - template - class choose_return_category { - typedef typename ct_if::value, - return_category_from_nested_type, - return_category_from_old_traits>::type Choice; - public: - typedef typename Choice:: template bind::type type; - }; - - template - class choose_traversal_category { - typedef typename ct_if::value, - traversal_category_from_nested_type, - traversal_category_from_old_traits>::type Choice; - public: - typedef typename Choice:: template bind::type type; - }; - - } // namespace detail - - template - struct return_category { - typedef typename detail::choose_return_category::type type; - }; - - - template - struct traversal_category { - typedef typename detail::choose_traversal_category::type type; - }; - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - - template - struct return_category - { - typedef typename ct_if::value, - constant_lvalue_iterator_tag, - mutable_lvalue_iterator_tag>::type type; - }; - - template - struct traversal_category - { - typedef random_access_traversal_tag type; - }; - -#endif - -} // namespace boost - -#endif // BOOST_ITERATOR_CATEGORIES_HPP diff --git a/development/boost/iterator_concepts.hpp b/development/boost/iterator_concepts.hpp deleted file mode 100644 index a30ff17..0000000 --- a/development/boost/iterator_concepts.hpp +++ /dev/null @@ -1,172 +0,0 @@ -#ifndef BOOST_ITERATOR_CONCEPTS_HPP -#define BOOST_ITERATOR_CONCEPTS_HPP - -#include -#include -#include -#include - -namespace boost_concepts { - // Used a different namespace here (instead of "boost") so that the - // concept descriptions do not take for granted the names in - // namespace boost. - - - //=========================================================================== - // Iterator Access Concepts - - template - class ReadableIteratorConcept { - public: - typedef typename std::iterator_traits::value_type value_type; - typedef typename std::iterator_traits::reference reference; - typedef typename boost::return_category::type return_category; - - void constraints() { - boost::function_requires< boost::SGIAssignableConcept >(); - boost::function_requires< boost::EqualityComparableConcept >(); - boost::function_requires< - boost::DefaultConstructibleConcept >(); - - BOOST_STATIC_ASSERT((boost::is_convertible::value)); - - reference r = *i; // or perhaps read(x) - value_type v(r); - boost::ignore_unused_variable_warning(v); - } - Iterator i; - }; - - template - class WritableIteratorConcept { - public: - typedef typename boost::return_category::type return_category; - - void constraints() { - boost::function_requires< boost::SGIAssignableConcept >(); - boost::function_requires< boost::EqualityComparableConcept >(); - boost::function_requires< - boost::DefaultConstructibleConcept >(); - - BOOST_STATIC_ASSERT((boost::is_convertible::value)); - - *i = v; // a good alternative could be something like write(x, v) - } - ValueType v; - Iterator i; - }; - - template - class ConstantLvalueIteratorConcept { - public: - typedef typename std::iterator_traits::value_type value_type; - typedef typename std::iterator_traits::reference reference; - typedef typename boost::return_category::type return_category; - - void constraints() { - boost::function_requires< ReadableIteratorConcept >(); - - BOOST_STATIC_ASSERT((boost::is_convertible::value)); - - BOOST_STATIC_ASSERT((boost::is_same::value)); - - reference v = *i; - boost::ignore_unused_variable_warning(v); - } - Iterator i; - }; - - template - class MutableLvalueIteratorConcept { - public: - typedef typename std::iterator_traits::value_type value_type; - typedef typename std::iterator_traits::reference reference; - typedef typename boost::return_category::type return_category; - - void constraints() { - boost::function_requires< ReadableIteratorConcept >(); - boost::function_requires< - WritableIteratorConcept >(); - - BOOST_STATIC_ASSERT((boost::is_convertible::value)); - - BOOST_STATIC_ASSERT((boost::is_same::value)); - - reference v = *i; - boost::ignore_unused_variable_warning(v); - } - Iterator i; - }; - - //=========================================================================== - // Iterator Traversal Concepts - - template - class ForwardIteratorConcept { - public: - typedef typename boost::traversal_category::type traversal_category; - - void constraints() { - boost::function_requires< boost::SGIAssignableConcept >(); - boost::function_requires< boost::EqualityComparableConcept >(); - boost::function_requires< - boost::DefaultConstructibleConcept >(); - - BOOST_STATIC_ASSERT((boost::is_convertible::value)); - ++i; - (void)i++; - } - Iterator i; - }; - - template - class BidirectionalIteratorConcept { - public: - typedef typename boost::traversal_category::type traversal_category; - - void constraints() { - boost::function_requires< ForwardIteratorConcept >(); - - BOOST_STATIC_ASSERT((boost::is_convertible::value)); - - --i; - (void)i--; - } - Iterator i; - }; - - template - class RandomAccessIteratorConcept { - public: - typedef typename boost::traversal_category::type traversal_category; - typedef typename std::iterator_traits::difference_type - difference_type; - - void constraints() { - boost::function_requires< BidirectionalIteratorConcept >(); - - BOOST_STATIC_ASSERT((boost::is_convertible::value)); - - i += n; - i = i + n; - i = n + i; - i -= n; - i = i - n; - n = i - j; - } - difference_type n; - Iterator i, j; - }; - -} // namespace boost_concepts - - -#endif // BOOST_ITERATOR_CONCEPTS_HPP diff --git a/development/libs/iterator/concept_tests.cpp b/development/libs/iterator/concept_tests.cpp deleted file mode 100644 index f75f311..0000000 --- a/development/libs/iterator/concept_tests.cpp +++ /dev/null @@ -1,73 +0,0 @@ -#include -#include - -struct new_iterator - : public boost::iterator, - public boost::new_iterator_base -{ - typedef boost::random_access_traversal_tag traversal_category; - typedef boost::mutable_lvalue_iterator_tag return_category; - - int& operator*() const { return *m_x; } - new_iterator& operator++() { return *this; } - new_iterator operator++(int) { return *this; } - new_iterator& operator--() { return *this; } - new_iterator operator--(int) { return *this; } - new_iterator& operator+=(std::ptrdiff_t) { return *this; } - new_iterator operator+(std::ptrdiff_t) { return *this; } - new_iterator& operator-=(std::ptrdiff_t) { return *this; } - std::ptrdiff_t operator-(const new_iterator&) const { return 0; } - new_iterator operator-(std::ptrdiff_t) const { return *this; } - bool operator==(const new_iterator&) const { return false; } - bool operator!=(const new_iterator&) const { return false; } - bool operator<(const new_iterator&) const { return false; } - int* m_x; -}; -new_iterator operator+(std::ptrdiff_t, new_iterator x) { return x; } - -struct old_iterator - : public boost::iterator -{ - int& operator*() const { return *m_x; } - old_iterator& operator++() { return *this; } - old_iterator operator++(int) { return *this; } - old_iterator& operator--() { return *this; } - old_iterator operator--(int) { return *this; } - old_iterator& operator+=(std::ptrdiff_t) { return *this; } - old_iterator operator+(std::ptrdiff_t) { return *this; } - old_iterator& operator-=(std::ptrdiff_t) { return *this; } - old_iterator operator-(std::ptrdiff_t) const { return *this; } - std::ptrdiff_t operator-(const old_iterator&) const { return 0; } - bool operator==(const old_iterator&) const { return false; } - bool operator!=(const old_iterator&) const { return false; } - bool operator<(const old_iterator&) const { return false; } - int* m_x; -}; -old_iterator operator+(std::ptrdiff_t, old_iterator x) { return x; } - -int -main() -{ -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) - boost::function_requires< - boost_concepts::MutableLvalueIteratorConcept >(); - boost::function_requires< - boost_concepts::RandomAccessIteratorConcept >(); - - boost::function_requires< - boost_concepts::ConstantLvalueIteratorConcept >(); - boost::function_requires< - boost_concepts::RandomAccessIteratorConcept >(); -#endif - - boost::function_requires< - boost_concepts::MutableLvalueIteratorConcept >(); - boost::function_requires< - boost_concepts::RandomAccessIteratorConcept >(); - - boost::function_requires< - boost_concepts::MutableLvalueIteratorConcept >(); - boost::function_requires< - boost_concepts::RandomAccessIteratorConcept >(); - return 0; -} diff --git a/development/libs/iterator/iterator_categories.htm b/development/libs/iterator/iterator_categories.htm deleted file mode 100644 index 83c29e5..0000000 --- a/development/libs/iterator/iterator_categories.htm +++ /dev/null @@ -1,160 +0,0 @@ - - - - Boost Iterator Traits - - - -C++ Boost -
- -

Boost Iterator Category Traits

-Header boost/iterator_categories.hpp - -

-The boost::traversal_category and -boost::return_category traits classes provides access to the -category tags for iterators that model the Boost Iterator Concepts, which are a -replacement for the iterator requirements in the C++ standard. The -other associated types of the Boost iterator concepts are accessed -through the std::iterator_traits class. - -

    -
  • traversal_category<Iter>::type   Can the iterator go forward, backward, etc.? -
  • return_category<Iter>::type   Is the iterator read or write only? - Is the dereferenced type an lvalue? -
- -

-An important feature of the boost::traversal_category and -boost::return_category classes is that they are backwards -compatible, i.e., they automatically work for iterators for which -there are valid definitions of std::iterator_traits. The old -iterator_category is mapped to the appropriate traversal and -return categories. - -

-When creating a new iterator type that is meant to work with -boost::traversal_category and -boost::return_category, you can either create a -specialization of these classes for your iterator type, or you can -provide all the necessary associated types as nested typedefs. In -this case, your iterator class will need to inherit from -new_iterator_base to let the category traits know -that it will be able to find typedefs for traversal_category -and return_category in you iterator class. - - -Each of the new iterator requirements will need a category tag. - -

-namespace boost {
-
-  // Return Type Categories
-  struct readable_iterator_tag { };
-  struct writable_iterator_tag { };
-  struct swappable_iterator_tag { };
-  struct mutable_lvalue_iterator_tag : virtual public writable_iterator_tag,
-    virtual public readable_iterator_tag { };
-  struct constant_lvalue_iterator_tag : public readable_iterator_tag { };
-
-  // Traversal Categories
-  struct forward_traversal_tag { };
-  struct bidirectional_traversal_tag : public forward_traversal_tag { };
-  struct random_access_traversal_tag : public bidirectional_traversal_tag { };
-
-}
-
- -

-The following is pseudo-code for the iterator category traits classes. - -

-namespace boost {
-
-  // Inherit from iterator_base if your iterator defines its own
-  // return_category and traversal_category. Otherwise, the "old style"
-  // iterator category will be mapped to the return_category and
-  // traversal_category.
-  struct new_iterator_base { };
-
-  template <typename Iterator>
-  struct return_category
-  {
-    // Pseudo-code
-    if (Iterator inherits from new_iterator_base) {
-      typedef typename Iterator::return_category type;
-    } else {
-      typedef std::iterator_traits<Iterator> OldTraits;
-      typedef typename OldTraits::iterator_category Cat;
-      if (Cat inherits from std::forward_iterator_tag)
-	if (is-const(T))
-	  typedef boost::constant_lvalue_iterator_tag type;
-	else
-	  typedef boost::mutable_lvalue_iterator_tag type;
-      else if (Cat inherits from std::input_iterator_tag)
-	typedef boost::readable_iterator_tag type;
-      else if (Cat inherits from std::output_iterator_tag)
-	typedef boost::writable_iterator_tag type;
-    }
-  };
-
-  template <typename T>
-  struct return_category<T*>
-  {
-    // Pseudo-code
-    if (is-const(T))
-      typedef boost::constant_lvalue_iterator_tag type;
-    else
-      typedef boost::mutable_lvalue_iterator_tag type;
-  };
-
-  template <typename Iterator>
-  struct traversal_category
-  {
-    // Pseudo-code
-    if (Iterator inherits from new_iterator_base) {
-      typedef typename Iterator::traversal_category type;
-    } else {
-      typedef std::iterator_traits<Iterator> OldTraits;
-      typedef typename OldTraits::iterator_category Cat;
-
-      if (Cat inherits from std::random_access_iterator_tag)
-	typedef boost::random_access_traversal_tag type;
-      else if (Cat inherits from std::bidirectional_iterator_tag)
-	typedef boost::bidirectional_traversal_tag type;
-      else if (Cat inherits from std::forward_iterator_tag)
-	typedef boost::forward_traversal_tag type;
-    }
-  };
-
-  template <typename T>
-  struct traversal_category<T*>
-  {
-    typedef boost::random_access_traversal_tag type;
-  };
-
-}
-
- -
-
jeremy siek
- - -Last modified: Mon Mar 19 12:59:30 EST 2001 - - - diff --git a/development/libs/iterator/iterator_concepts.fig b/development/libs/iterator/iterator_concepts.fig deleted file mode 100644 index 198205e..0000000 --- a/development/libs/iterator/iterator_concepts.fig +++ /dev/null @@ -1,37 +0,0 @@ -#FIG 3.2 -Landscape -Center -Inches -Letter -100.00 -Single --2 -1200 2 -6 150 2325 4275 4350 -2 1 0 1 0 7 100 0 -1 4.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 1725 4050 1725 3450 -2 1 0 1 0 7 100 0 -1 4.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 1725 3150 1725 2550 -4 0 0 100 0 19 18 0.0000 4 210 3180 375 2550 ForwardTraversalIterator\001 -4 0 0 100 0 19 18 0.0000 4 210 3765 225 3450 BidirectionalTraversalIterator\001 -4 0 0 100 0 19 18 0.0000 4 210 4125 150 4350 RandomAccessTraversalIterator\001 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 4800 3600 4800 2400 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 6900 3000 5400 2400 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 6900 3000 7500 2400 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2 - 1 1 1.00 60.00 120.00 - 6900 3000 9075 2475 -4 0 0 100 0 19 18 0.0000 4 210 2040 6600 2400 WritableIterator\001 -4 0 0 100 0 19 18 0.0000 4 210 2145 3900 2400 ReadableIterator\001 -4 0 0 50 0 19 18 0.0000 4 210 2835 5700 3300 MutableLvalueIterator\001 -4 0 0 50 0 19 18 0.0000 4 270 2355 9075 2400 SwappableIterator\001 -4 0 0 50 0 19 18 0.0000 4 210 2970 3825 3900 ConstantLvalueIterator\001 diff --git a/development/libs/iterator/iterator_concepts.gif b/development/libs/iterator/iterator_concepts.gif deleted file mode 100644 index bac35c7d13e402c6bc2fd5ff770bf444da6f4426..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3287 zcmZ?wbh9u|{K7PWp@9Je{{R241EN793{3xe`d6NQ%fEQemRsGM@9p``-}cC3+Oy7O zuTE`y$DMw_=klVzXL#Q|VEEbXS-~i0_;B_MiQ}$CA|giF-kExpm{6 zWxB+5$>mpC(P666Jzw76k)405yHdSw{l{-fY8qRwZ5IvA*r@UR2ggmPD;6ysDUlxR ztP)|%PgF`4a-90U(=)6%{buLRss)wKQkLG)uM3~tEG_#v`S!Nezh-IO+07kuYWc6{ z-gDMGGUkcx$ywIp`omi$JvesP+QX)A_SW#~bsJ{Ng{0qo_EzuSy1D;6?f1!@@0}n0 z-!_-qV1Yx*&39kB-7@AI<{acPi{@Apb*S+3iMg*8bYooqWpV8G%{eh4*{zPP`=fQm z#6a!V@-@9SoklU{O^RRlxJS;oM84^F!j6MJ>yd6 z`?ganL!Rwh6g}Oo_0`nXp~8ws!$ePRT6}Vij;mJkEz_wMD@tbn+tV%X~(W)m$dY>f>zhP zsWB?uxpwCFlX^T>OK&_m9c+u}`p)cP~zn!}5;__MbF`iHQ8xCq_#I=gW87vTcb0b(h{!nUJwBv!&>GF-2RvwK@ zRG!y%RYOayNw)J%Z~Mb?wpUjaJFZ7=o7$b|$Ud{@*WFJOm2Z2xde=Dc2tDjdQ)FEl zl)muVtlIyvKSRCZR;VuO3e4K7JXMFSZRr&GV?mE3iyKd-&d!1}E3an-U$H|{md9^8=DS^RFvgqBXLsMN)KKOT>m7!%}` zxl|+X*Zsvyqn57>>tSQkSR(vL^Vs|iP6{ukO%e+aUbsun`O=(4cGI*hW4%7HPuQnr z_3v_5{a%(e%g?mj&|JSlZkGS1D{QT|H{RSeef5R|n@)9ZVfR~gIc;6*jfkDcLVx#f zeWSNxRnn&%?RCcDr@~(Ez4X$$yZ_IrebtbN!^7UR__L_$mulBw+h~SWq4b0sV zx_9-`<@Y2Nt~53OlbvvW`JdRuPoHYG@4Q;J##;WNrP>PaM}FsC7d9+Ed^WR3F0E@- zW$o^+@8@Too>%yMBkRAkm)hUg{W=r!x_rXx!|~r&Jn?H>XY}FwIX#xAQO#o8=IzQq z_j_r6Z)wJppuMwy)Z9CKZ^tL@*{=+i&8&*6-g4dg6n6*eiUEaE9&enizv(ARHH(m$S66|Ra*AN9;PFA|SjcvSz@)5?fF{p^c1j+x}G z?a6XslL`^<47on@1H&6`9;L#IOqd_@ywEL4=4 zFCI{|d(_{*MkQJ2gWoBEB8D6848WC_SKsOuAHRW#Q;6*A9#YP3qK=1c)w|4l{H zEEhZ#Uf=G;W2iZO+nZF~+RWB)wNG6NQ&bK5XR@Za={N0p!+5@BrB9U8=NXsx+?HPL zaWW%oGtX_4WcJxJO|;62=QOFLTl#vq^Oaqk^Tx&5`mTqw>m%LS@7FB9@uu>mtlEd9 zFGrT!w|_V9Weod#0TVVKZjcP$&++JZD$Pa_a{x{kLWYMYDZf z?o#_8AieU+BCV~(o}sD1)48s$vkjdR+`B5&GVH2<+SgSvXCH=czjbv(*N4^4F8w+( zTpd0qj9dH#Rzw7IT=QxQjcE#cef^x&vD=b)+4-*Ok!vLt_prTM*SvM+-2}rG`?SQG zidi2l5fHUnyzp(x)LFAOb+su~uFOu7>3W@HzuNnN*m+NZ*Jpo5rRiM$l%bv@DC(!e z=5VyJY+JHuu6NC0t8E+~j9v%_P8GU*bK4U$@0v*6!pwi&cg{vm&dqkbsofGb_2OAx z3;*oME3?Y=*s50MJn&gp?zkhSSmOGcC)s*6F<(|ao;q> z-F0jitQC8H^Qn%ee)QDIE&EksSdZ#0O%2-EyjDru>R{$}5iafLHwuV<@bWWOUv!;dhN1-(1<_TWEZ+(4oy*}CI%fik#o5W7)T(L5`(f#TA zlH+#IJy*=VR3FK1{AXXE*4i&$8arhki%-0^D^_jhcNa z;1<)SgXRfu+O)DuS4yV_%HH2;*n3jsRK%hLUGw*>CvR;n+g5)6PHxJ3wnNrjlUHr% zHA(O7+P|jNWQTg}j<1Hd1)eR_-<7)N-TB$X>MFMFYO=d+$CG(!I0I+3WIDW$`Np7r$=n^LuZ-+U$ny@txbcZ>Lu;u59Qpd()<__hn7? z-kZ_ycOCur>g$I2f^U-at0Pb5ecO_6aHKnB_pRN0CB?h`zKuMd;qu(?`_$XAiz?1n z@BhB;!oJ^kZ@zxA@&UVl#S!hekL~e$9`oP&aoqdfyovMoJbhaC^Gx>MPqW_JnA-AJ zMHkQOZt&M|UEgOYJNqX0!tc*tY>b)adnWkdD*wNI+4rl;_T4)kaNTIN4bPUt>#R2J ztbhLQ^sC($w^>Iwl=<$+jf>>tpJnw~Y0HAWsp}ps|Ma8o&$%C~)@7MoxP4@UFZjDSCjb=d!oW~nq zOwO(fC^=FVca~Yfi!Hw}yh+NW@i0rQzFE4iMy!RJy`FR8(qnm2vb~fnVi#>FlE}b+xza&ish)E z_9XW~ab&z(@w^Mkw~g!AL?YLH)?T8VQCC)-C*k3((b38g-qz94Hoc?UBDm#5M}LR+ z1dUF~ryY|sIxiP@&ivs&b;ZBVxhwSNyy#r0VZF$sYiUN;@{X>RE4o&n=vw=tYduHz zMvd;x9^G3zLarSS-!whs^|R#KgPz+og614fezZk>$BO3aR>8ZhJ$_#cPkOktrh8~l zN!_@iN2;~p{Uw=~%j!LZ+OsCt+~3j8Jw4s=heD%Uc+icSo8`5q+%v99`2KIp{CzOv za$9fX*36g7iyys+`%xx5HOy{jYvwu~4l!|Ot*od3!3LdZD^E69ya&Co$ z>BECrM@1*zUfSyTqFFV0!ut#}jujL9E%GjH&*gksqqC?#XmK=uhROL<3C0xFLvC3& zzfNTLEJ@@j_~Fo``$IWgUH-@Ac<$+GXAW(xd-SbD$}*S5sL8ovvTCcv-OG6=*(OS8 zPIaklPsp&UlZf{Aj7wTE#dcep_4XQn&Z!bN8iH5$emFO(|mld_@&1}^TORl@=ea5-% zPFjjvMwo$l{-f&}6*o$*7PfuknD*GU_~53QF&Q%rS#nEf#4r3@AX66QakK8-q2B0B avv|wt|F#w{F3RO$?#R71Ygz~cgEatv^I|Fh diff --git a/development/libs/iterator/iterator_concepts.htm b/development/libs/iterator/iterator_concepts.htm deleted file mode 100644 index f2f8dcd..0000000 --- a/development/libs/iterator/iterator_concepts.htm +++ /dev/null @@ -1,663 +0,0 @@ - - - - -Iterator Concepts - -C++ Boost - -
- - -

Iterator Concepts

- -

The standard iterator categories and requirements are flawed because -they use a single hierarchy of requirements to address two orthogonal -issues: iterator traversal and dereference return -type. The current iterator requirement hierarchy is mainly -geared towards iterator traversal (hence the category names), while -requirements that address dereference return type sneak in at various -places. - -

-The iterator requirements should be separated into two hierarchies. -One set of concepts handles the return type semantics: -

- -The other set of concepts handles iterator traversal: - - - -The current Input Iterator and Output Iterator requirements will -continue to be used as is. Note that Input Iterator implies Readable -Iterator and Output Iterator implies Writable Iterator. - -

-Note: we considered defining a Single-Pass Iterator, which could be -combined with Readable or Writable Iterator to replace the Input and -Output Iterator requirements. We rejected this idea because there are -some differences between Input and Output Iterators that make it hard -to merge them: for example Input Iterator requires Equality Comparable -while Output Iterator does not. - - -

-
- - - -
Figure 1: -The iterator concepts and refinement relationships. -
-
-

- - -

Relationship with the standard iterator concepts

- -

-std::Input Iterator implies boost::ReadableIterator. - -

-std::Output Iterator implies boost::Writable Iterator. - -

-std::Forward Iterator refines boost::Forward Iterator and -boost::Constant Lvalue Iterator or boost::Mutable Lvalue Iterator. - -

-std::Bidirectional Iterator refines boost::Bidirectional Iterator and -boost::Constant Lvalue Iterator or boost::Mutable Lvalue Iterator. - -

-std::Random Access Iterator refines boost::Random Access Iterator and -boost::Constant Lvalue Iterator or boost::Mutable Lvalue Iterator. - - -

Notation

- - - - - - - - - - - - - - - - - -
XThe iterator type.
TThe value type of X, i.e., std::iterator_traits<X>::value_type.
x, yAn object of type X.
tAn object of type T.
- -

- -


- - -

-Readable Iterator -

- -A Readable Iterator is an iterator that dereferences to produce an -rvalue that is convertible to the value_type of the -iterator. - -

Associated Types

- - - - - - - - - - - - - - - - - - - - - -
Value typestd::iterator_traits<X>::value_typeThe type of the objects pointed to by the iterator.
Reference typestd::iterator_traits<X>::reference - The return type of dereferencing the iterator. This - type must be convertible to T. -
Return Categorystd::return_category<X>::type - A type convertible to std::readable_iterator_tag -
- -

Refinement of

- -Copy Constructible - -

Valid expressions

- - - - - - - - - - - - - - - -
NameExpressionType requirementsReturn type
Dereference*x std::iterator_traits<X>::reference
Member accessx->mT is a type with a member named m. -If m is a data member, the type of m. -If m is a member function, the return type of m. -
- -

- -


- - -

-Writable Iterator -

- -A Writable Iterator is an iterator that can be used to store a value -using the dereference-assignment expression. - -

Definitions

- -If x is an Writable Iterator of type X, then the -expression *x = a; stores the value a into -x. Note that operator=, like other C++ functions, -may be overloaded; it may, in fact, even be a template function. In -general, then, a may be any of several different types. A -type A belongs to the set of value types of X -if, for an object a of type A, *x = a; is -well-defined and does not require performing any non-trivial -conversions on a. - -

Associated Types

- - - - - - - - - -
Return Categorystd::return_category<X>::type - A type convertible to std::writable_iterator_tag -
- - - -

Refinement of

- -Copy Constructible - -

Valid expressions

- - - - - - - - - - -
NameExpressionReturn type
Dereference assignment*x = aunspecified
- -

- - -


- - -

-Swappable Iterator -

- -A Swappable Iterator is an iterator whose dereferenced values can be -swapped. - -

-Note: the requirements for Swappable Iterator are dependent on the -issues surrounding std::swap() being resolved. Here we assume -that the issue will be resolved by allowing the overload of -std::swap() for user-defined types. - -

-Note: Readable Iterator and Writable Iterator combined implies -Swappable Iterator because of the fully templated -std::swap(). However, Swappable Iterator does not imply -Readable Iterator nor Writable Iterator. - -

Associated Types

- - - - - - - - - -
Return Categorystd::return_category<X>::type - A type convertible to std::swappable_iterator_tag -
- - -

Valid expressions

- -Of the two valid expressions listed below, only one OR the -other is required. If std::iter_swap() is overloaded for -X then std::swap() is not required. If -std::iter_swap() is not overloaded for X then the -default (fully templated) version is used, which will call -std::swap() (this means changing the current requirements for -std::iter_swap()). - -

- - - - - - - - - - - - - - - - - -
NameExpressionReturn type
Iterator Swapstd::iter_swap(x, y)void
Dereference and Swapstd::swap(*x, *y)void
- -

- - -


- - -

-Constant Lvalue Iterator -

- -A Constant Lvalue Iterator is an iterator that dereferences to produce a -const reference to the pointed-to object, i.e., the associated -reference type is const T&. Changing the value -of or destroying an iterator that models Constant Lvalue Iterator does -not invalidate pointers and references previously obtained from that -iterator. - - -

Refinement of

- -Readable Iterator - -

Associated Types

- - - - - - - - - - - - - - - - - -
Reference typestd::iterator_traits<X>::reference - The return type of dereferencing the iterator, which must be - const T&. -
Return Categorystd::return_category<X>::type - A type convertible to std::constant_lvalue_iterator_tag -
- - - -

- -


- - -

-Mutable Lvalue Iterator -

- -A Mutable Lvalue Iterator is an iterator that dereferences to produce a -reference to the pointed-to object. The associated reference -type is T&. Changing the value of or destroying an -iterator that models Mutable Lvalue Iterator does not invalidate -pointers and references previously obtained from that iterator. - -

Refinement of

- -Readable Iterator, -Writable Iterator, -and Swappable Iterator. - - - -

Associated Types

- - - - - - - - - - - - - - - - - -
Reference typestd::iterator_traits<X>::referenceThe return type of dereferencing the iterator, which must be - T&.
Return Categorystd::return_category<X>::type - A type convertible to std::mutable_lvalue_iterator_tag -
- - - -

-


- - -

-Forward Traversal Iterator -

- -The Forward Iterator is an iterator that can be incremented. Also, it -is permissible to make multiple passes through the iterator's range. - -

Refinement of

- -Copy Constructible, -Assignable, -Default Constructible, and -Equality Comparable - - -

Associated types

- - - - - - - - - - - - - - -
Difference Typestd::iterator_traits<X>::difference_type - A signed integral type used for representing distances - between iterators that point into the same range. -
Traversal Categorystd::traversal_category<X>::type - A type convertible to std::forward_traversal_tag -
- -

Valid expressions

- - - - - - - - - - - - - - -
NameExpressionType requirementsReturn type
Preincrement++i X&
Postincrementi++ convertible to const X&
- -

-


- - -

-Bidirectional Traversal Iterator -

- -An iterator that can be incremented and decremented. - -

Refinement of

- -Forward Traversal Iterator - -

Associated types

- - - - - - - -
Traversal Categorystd::traversal_category<X>::type - A type convertible to std::bidirectional_traversal_tag -
- -

Valid expressions

- - - - - - - - - - - - -
NameExpressionType requirementsReturn type
Predecrement--i X&
Postdecrementi-- convertible to const X&
- -

-


- - -

-Random Access Traversal Iterator -

- -An iterator that provides constant-time methods for moving forward and -backward in arbitrary-sized steps. - -

Refinement of

- -Bidirectional Traversal Iterator and -Less Than Comparable where < is a total ordering - -

Associated types

- - - - - - - -
Traversal Categorystd::traversal_category<X>::type - A type convertible to std::random_access_traversal_tag -
- -

Valid expressions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameExpressionType requirementsReturn type
Iterator additioni += n X&
Iterator additioni + n or n + i X
Iterator subtractioni -= n X&
Iterator subtractioni - n X
Differencei - j std::iterator_traits<X>::difference_type
Element operatori[n]X must also be a model of - Readable Iterator. std::iterator_traits<X>::reference
Element assignmenti[n] = tX must also be a model of - Writable Iterator.unspecified
- -

- -


- - -
Copyright © 2000 -Jeremy Siek, Univ.of Notre Dame (jsiek@lsc.nd.edu) -
- - - diff --git a/doc/index.html b/doc/index.html index 58d3e53..9589c14 100755 --- a/doc/index.html +++ b/doc/index.html @@ -53,21 +53,21 @@ older Boost Iterator Adaptor Library.
-

New-Style Iterators

+

New-Style Iterators

The iterator categories defined in C++98 are extremely limiting because they bind together two orthogonal concepts: traversal and element access. For example, because a random access iterator is @@ -86,7 +86,7 @@ concepts, see our

Standard Proposal For New-Style Iterators (PDF)
-

Iterator Facade and Adaptor

+

Iterator Facade and Adaptor

Writing standard-conforming iterators is tricky, but the need comes up often. In order to ease the implementation of new iterators, the Boost.Iterator library provides the iterator_facade class template, @@ -113,7 +113,7 @@ and accepted into the first C++ technical report; see our

for more details.

-

Specialized Adaptors

+

Specialized Adaptors

The iterator library supplies a useful suite of standard-conforming iterator templates based on the Boost iterator facade and adaptor.

    @@ -121,9 +121,6 @@ iterator templates based on the Boost filter_iterator (PDF): an iterator over the subset of elements of some sequence which satisfy a given predicate -
  • function_output_iterator (PDF): an output iterator wrapping a unary function -object; each time an element is written into the dereferenced -iterator, it is passed as a parameter to the function object.
  • indirect_iterator (PDF): an iterator over the objects pointed-to by the elements of some sequence.
  • permutation_iterator (PDF): an iterator over the elements of some random-access @@ -131,8 +128,6 @@ sequence, rearranged according to some sequence of integer indices.
  • reverse_iterator (PDF): an iterator which traverses the elements of some bidirectional sequence in reverse. Corrects many of the shortcomings of C++98's std::reverse_iterator.
  • -
  • shared_container_iterator: an iterator over elements of a container whose -lifetime is maintained by a shared_ptr stored in the iterator.
  • transform_iterator (PDF): an iterator over elements which are the result of applying some functional transformation to the elements of an underlying sequence. This component also replaces the old @@ -142,9 +137,9 @@ positions of heterogeneous underlying iterators.
-

Iterator Utilities

+

Iterator Utilities

-

Traits

+

Traits

  • pointee.hpp (PDF): Provides the capability to deduce the referent types of pointers, smart pointers and iterators in generic code. Used @@ -158,7 +153,7 @@ testing iterator interoperability -->
-

Testing and Concept Checking

+

Testing and Concept Checking

-

Upgrading from the old Boost Iterator Adaptor Library

+

Upgrading from the old Boost Iterator Adaptor Library

If you have been using the old Boost Iterator Adaptor library to implement iterators, you probably wrote a Policies class which captures the core operations of your iterator. In the new library @@ -176,7 +171,7 @@ you probably wrote a iterator_adaptor specialization you needed; in the new library design you don't need a type generator (though may want to keep it around as a compatibility aid for older code) because, due to the -use of the Curiously Recurring Template Pattern (CRTP) [Cop95], +use of the Curiously Recurring Template Pattern (CRTP) [Cop95], you can now define the iterator class yourself and acquire functionality through inheritance from iterator_facade or iterator_adaptor. As a result, you also get much finer control @@ -191,7 +186,7 @@ type, transform_iterator will projection_iterator used to.

-

History

+

History

In 2000 Dave Abrahams was writing an iterator for a container of pointers, which would access the pointed-to elements when dereferenced. Naturally, being a library writer, he decided to @@ -220,7 +215,7 @@ library you see today.

-[Cop95][Coplien, 1995] Coplien, J., Curiously Recurring Template +[Cop95][Coplien, 1995] Coplien, J., Curiously Recurring Template Patterns, C++ Report, February 1995, pp. 24-27. diff --git a/doc/index.pdf b/doc/index.pdf new file mode 100755 index 0000000000000000000000000000000000000000..aed0bdc3578860a680a1ac1f51d357dc02f46154 GIT binary patch literal 84308 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 literal 0 HcmV?d00001 diff --git a/doc/index.rst b/doc/index.rst index 0d688c2..2b1cdf5 100755 --- a/doc/index.rst +++ b/doc/index.rst @@ -134,10 +134,6 @@ iterator templates based on the Boost `iterator facade and adaptor`_. * |filter|_ (PDF__): an iterator over the subset of elements of some sequence which satisfy a given predicate -* |function|_ (PDF__): an output iterator wrapping a unary function - object; each time an element is written into the dereferenced - iterator, it is passed as a parameter to the function object. - * |indirect|_ (PDF__): an iterator over the objects *pointed-to* by the elements of some sequence. @@ -148,9 +144,6 @@ iterator templates based on the Boost `iterator facade and adaptor`_. bidirectional sequence in reverse. Corrects many of the shortcomings of C++98's ``std::reverse_iterator``. -* |shared|_: an iterator over elements of a container whose - lifetime is maintained by a |shared_ptr|_ stored in the iterator. - * |transform|_ (PDF__): an iterator over elements which are the result of applying some functional transformation to the elements of an underlying sequence. This component also replaces the old @@ -167,10 +160,6 @@ __ counting_iterator.pdf .. _filter: filter_iterator.html __ filter_iterator.pdf -.. |function| replace:: ``function_output_iterator`` -.. _function: function_output_iterator.html -__ function_output_iterator.pdf - .. |indirect| replace:: ``indirect_iterator`` .. _indirect: indirect_iterator.html __ indirect_iterator.pdf @@ -183,9 +172,6 @@ __ permutation_iterator.pdf .. _reverse: reverse_iterator.html __ reverse_iterator.pdf -.. |shared| replace:: ``shared_container_iterator`` -.. _shared: ../../utility/shared_container_iterator.html - .. |transform| replace:: ``transform_iterator`` .. _transform: transform_iterator.html __ transform_iterator.pdf @@ -194,9 +180,6 @@ __ transform_iterator.pdf .. _zip: zip_iterator.html __ zip_iterator.pdf -.. |shared_ptr| replace:: ``shared_ptr`` -.. _shared_ptr: ../../smart_ptr/shared_ptr.htm - ==================== Iterator Utilities ==================== diff --git a/doc/iterator_traits.pdf b/doc/iterator_traits.pdf index dd21246b08c50676cc2413ea0f846c1789d0e302..d2ce5904d873c6fb211b4cde77ecea896bd437b2 100755 GIT binary patch delta 39183 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 and indirect_reference - + @@ -25,7 +25,7 @@ Organization: Boost Consulting Date: -2004-01-29 +2004-01-13 Copyright: Copyright David Abrahams 2004. All rights reserved diff --git a/doc/pointee.pdf b/doc/pointee.pdf index ad599117b0513a226542ae25d9450190a40ecf74..83e5f8469e70e183dbe5c827a34830dd1a6c8afe 100755 GIT binary patch delta 40183 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 F0svUz3l;zX delta 40224 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 U(03O$V?!e&6O-+7?2Ne_02U*4MgRZ+ diff --git a/example/Jamfile b/example/Jamfile index cb49f1a..6eb6cc7 100644 --- a/example/Jamfile +++ b/example/Jamfile @@ -10,11 +10,4 @@ test-suite iterator_examples [ run node_iterator1.cpp ] [ run node_iterator2.cpp ] [ run node_iterator3.cpp ] - [ run counting_iterator_example.cpp ] - [ run filter_iterator_example.cpp ] - [ run function_output_iterator_example.cpp ] - [ run indirect_iterator_example.cpp ] - [ run permutation_iterator_example.cpp ] - [ run reverse_iterator_example.cpp ] - [ run transform_iterator_example.cpp ] ; diff --git a/include/boost/function_output_iterator.hpp b/include/boost/function_output_iterator.hpp index 0e22e03..764c118 100644 --- a/include/boost/function_output_iterator.hpp +++ b/include/boost/function_output_iterator.hpp @@ -26,9 +26,7 @@ namespace boost { typedef void pointer; typedef void reference; - explicit function_output_iterator() {} - - explicit function_output_iterator(const UnaryFunction& f) + explicit function_output_iterator(const UnaryFunction& f = UnaryFunction()) : m_f(f) {} struct output_proxy { diff --git a/include/boost/iterator/detail/facade_iterator_category.hpp b/include/boost/iterator/detail/facade_iterator_category.hpp index 5bee4b8..dd7de98 100755 --- a/include/boost/iterator/detail/facade_iterator_category.hpp +++ b/include/boost/iterator/detail/facade_iterator_category.hpp @@ -107,8 +107,13 @@ struct iterator_facade_default_category // check for readability , is_convertible > - , mpl::identity - , mpl::identity + , mpl::if_< + iterator_writability_disabled + , std::input_iterator_tag + , input_output_iterator_tag + > + + , mpl::identity > > { diff --git a/include/boost/iterator/iterator_categories.hpp b/include/boost/iterator/iterator_categories.hpp index 6153c6f..7b4f9ae 100644 --- a/include/boost/iterator/iterator_categories.hpp +++ b/include/boost/iterator/iterator_categories.hpp @@ -27,11 +27,7 @@ namespace boost { // // Traversal Categories // - -struct no_traversal_tag {}; - -struct incrementable_traversal_tag - : no_traversal_tag {}; +struct incrementable_traversal_tag {}; struct single_pass_traversal_tag : incrementable_traversal_tag {}; diff --git a/include/boost/iterator/iterator_concepts.hpp b/include/boost/iterator/iterator_concepts.hpp index f060491..93e0972 100644 --- a/include/boost/iterator/iterator_concepts.hpp +++ b/include/boost/iterator/iterator_concepts.hpp @@ -60,13 +60,19 @@ namespace boost_concepts { class ReadableIteratorConcept { public: typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits::value_type value_type; + typedef BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits::reference reference; void constraints() { - boost::function_requires< boost::AssignableConcept >(); - boost::function_requires< boost::CopyConstructibleConcept >(); + boost::function_requires< boost::SGIAssignableConcept >(); + boost::function_requires< boost::EqualityComparableConcept >(); + boost::function_requires< + boost::DefaultConstructibleConcept >(); - value_type v = *i; + reference r = *i; // or perhaps read(x) + value_type v = r; + value_type v2 = *i; boost::ignore_unused_variable_warning(v); + boost::ignore_unused_variable_warning(v2); } Iterator i; }; @@ -79,8 +85,12 @@ namespace boost_concepts { public: void constraints() { - boost::function_requires< boost::CopyConstructibleConcept >(); - *i = v; + boost::function_requires< boost::SGIAssignableConcept >(); + boost::function_requires< boost::EqualityComparableConcept >(); + boost::function_requires< + boost::DefaultConstructibleConcept >(); + + *i = v; // a good alternative could be something like write(x, v) } ValueType v; Iterator i; @@ -98,18 +108,47 @@ namespace boost_concepts { }; template - class LvalueIteratorConcept + class ReadableLvalueIteratorConcept { public: typedef typename boost::detail::iterator_traits::value_type value_type; + typedef typename boost::detail::iterator_traits::reference reference; + void constraints() { - value_type& r = const_cast(*i); - boost::ignore_unused_variable_warning(r); - } + boost::function_requires< ReadableIteratorConcept >(); + + typedef boost::mpl::or_< + boost::is_same + , boost::is_same + > correct_reference; + + BOOST_STATIC_ASSERT(correct_reference::value); + + reference v = *i; + boost::ignore_unused_variable_warning(v); + } Iterator i; }; + template + class WritableLvalueIteratorConcept { + public: + typedef typename boost::detail::iterator_traits::value_type value_type; + typedef typename boost::detail::iterator_traits::reference reference; + + void constraints() { + boost::function_requires< + ReadableLvalueIteratorConcept >(); + boost::function_requires< + WritableIteratorConcept >(); + boost::function_requires< + SwappableIteratorConcept >(); + + + BOOST_STATIC_ASSERT((boost::is_same::value)); + } + }; //=========================================================================== // Iterator Traversal Concepts @@ -120,8 +159,9 @@ namespace boost_concepts { typedef typename boost::iterator_traversal::type traversal_category; void constraints() { - boost::function_requires< boost::AssignableConcept >(); - boost::function_requires< boost::CopyConstructibleConcept >(); + boost::function_requires< boost::SGIAssignableConcept >(); + boost::function_requires< + boost::DefaultConstructibleConcept >(); BOOST_STATIC_ASSERT( (boost::is_convertible< @@ -163,8 +203,6 @@ namespace boost_concepts { void constraints() { boost::function_requires< SinglePassIteratorConcept >(); - boost::function_requires< - boost::DefaultConstructibleConcept >(); typedef boost::mpl::and_< boost::is_integral, @@ -233,74 +271,125 @@ namespace boost_concepts { //=========================================================================== // Iterator Interoperability Concept - namespace detail - { +namespace detail +{ - template - void interop_single_pass_constraints(Iterator1 const& i1, Iterator2 const& i2) - { - bool b; - b = i1 == i2; - b = i1 != i2; - - b = i2 == i1; - b = i2 != i1; - } + template + struct Operations; - template - void interop_rand_access_constraints(Iterator1 const& i1, Iterator2 const& i2, - boost::random_access_traversal_tag, boost::random_access_traversal_tag) + template <> + struct Operations + { + template + static void constraints(Iterator1 const& i1, Iterator2 const& i2) + { + // no interoperability constraints + } + }; + + template <> + struct Operations + { + template + static void constraints(Iterator1 const& i1, Iterator2 const& i2) + { + Operations::constraints(i1, i2); + i1 == i2; + i1 != i2; + + i2 == i1; + i2 != i1; + } + }; + + template <> + struct Operations + { + template + static void constraints(Iterator1 const& i1, Iterator2 const& i2) + { + Operations::constraints(i1, i2); + } + }; + + template <> + struct Operations + { + template + static void constraints(Iterator1 const& i1, Iterator2 const& i2) + { + Operations::constraints(i1, i2); + } + }; + + template <> + struct Operations { - bool b; - typename boost::detail::iterator_traits::difference_type n; - b = i1 < i2; - b = i1 <= i2; - b = i1 > i2; - b = i1 >= i2; - n = i1 - i2; - - b = i2 < i1; - b = i2 <= i1; - b = i2 > i1; - b = i2 >= i1; - n = i2 - i1; - } - template - void interop_rand_access_constraints(Iterator1 const& i1, Iterator2 const& i2, - boost::single_pass_traversal_tag, boost::single_pass_traversal_tag) - { } + template + static void constraints(Iterator1 const& i1, Iterator2 const& i2) + { + Operations::constraints(i1, i2); + + i1 < i2; + i1 <= i2; + i1 > i2; + i1 >= i2; + i1 - i2; + + i2 < i1; + i2 <= i1; + i2 > i1; + i2 >= i1; + i2 - i1; + } + }; } // namespace detail - template - class InteroperableIteratorConcept - { - public: - typedef typename boost::detail::pure_traversal_tag< - typename boost::iterator_traversal< - Iterator - >::type - >::type traversal_category; + template + class InteroperableConcept + { + public: + typedef typename boost::detail::pure_traversal_tag< + typename boost::iterator_traversal< + Iterator + >::type + >::type traversal_category; + + typedef typename + boost::detail::iterator_traits::difference_type + difference_type; - typedef typename boost::detail::pure_traversal_tag< - typename boost::iterator_traversal< - ConstIterator - >::type - >::type const_traversal_category; + typedef typename boost::detail::pure_traversal_tag< + typename boost::iterator_traversal< + ConstIterator + >::type + >::type const_traversal_category; + + typedef typename + boost::detail::iterator_traits::difference_type + const_difference_type; - void constraints() - { - boost::function_requires< SinglePassIteratorConcept >(); - boost::function_requires< SinglePassIteratorConcept >(); + void constraints() + { + BOOST_STATIC_ASSERT( + (boost::is_same< difference_type, const_difference_type>::value) + ); + + BOOST_STATIC_ASSERT( + (boost::is_same< traversal_category, const_traversal_category>::value) + ); - detail::interop_single_pass_constraints(i, ci); - detail::interop_rand_access_constraints(i, ci, traversal_category(), const_traversal_category()); + // ToDo check what the std really requires - ci = i; - } - Iterator i; - ConstIterator ci; - }; + // detail::Operations::constraints(i, ci); + + ci = i; + + } + Iterator i; + ConstIterator ci; + }; } // namespace boost_concepts diff --git a/include/boost/iterator/permutation_iterator.hpp b/include/boost/iterator/permutation_iterator.hpp index bb601c8..f41da1a 100644 --- a/include/boost/iterator/permutation_iterator.hpp +++ b/include/boost/iterator/permutation_iterator.hpp @@ -18,40 +18,64 @@ namespace boost { template< class ElementIterator - , class IndexIterator> + , class IndexIterator + , class ValueT = use_default + , class CategoryT = use_default + , class ReferenceT = use_default + , class DifferenceT = use_default > class permutation_iterator : public iterator_adaptor< - permutation_iterator - , IndexIterator, typename detail::iterator_traits::value_type - , use_default, typename detail::iterator_traits::reference> + permutation_iterator + , ElementIterator, ValueT, CategoryT, ReferenceT, DifferenceT > { typedef iterator_adaptor< - permutation_iterator - , IndexIterator, typename detail::iterator_traits::value_type - , use_default, typename detail::iterator_traits::reference> super_t; + permutation_iterator + , ElementIterator, ValueT, CategoryT, ReferenceT, DifferenceT > super_t; friend class iterator_core_access; public: - permutation_iterator() : m_elt_iter() {} + permutation_iterator() : order_it_() {} explicit permutation_iterator(ElementIterator x, IndexIterator y) - : super_t(y), m_elt_iter(x) {} + : super_t(x), order_it_(y) {} - template + template permutation_iterator( - permutation_iterator const& r + permutation_iterator const& r , typename enable_if_convertible::type* = 0 , typename enable_if_convertible::type* = 0 ) - : super_t(r.base()), m_elt_iter(r.m_elt_iter) + : super_t(r.base()) {} private: typename super_t::reference dereference() const - { return *(m_elt_iter + *this->base()); } + { return *(this->base() + *this->order_it_); } + + void increment() { ++this->order_it_; } + void decrement() { --this->order_it_; } - ElementIterator m_elt_iter; + void advance(typename super_t::difference_type n) + { + std::advance( order_it_, n ); + } + + template + typename super_t::difference_type + distance_to( permutation_iterator const& y ) const + { + return std::distance( this->order_it_, y.order_it_ ); + } + + template + bool + equal( permutation_iterator const& y ) const + { + return( y.order_it_ == this->order_it_ ); + } + + IndexIterator order_it_; }; diff --git a/test/Jamfile b/test/Jamfile index 020e098..32f34e5 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -36,8 +36,6 @@ test-suite iterator [ run iterator_adaptor_cc.cpp ] [ run iterator_adaptor_test.cpp ] [ compile iterator_archetype_cc.cpp ] - [ compile-fail iterator_archetype_default_ctor.cpp ] - [ compile-fail lvalue_concept_fail_expected.cpp ] [ run transform_iterator_test.cpp ] [ run indirect_iterator_test.cpp ] [ compile indirect_iterator_member_types.cpp ] diff --git a/test/concept_tests.cpp b/test/concept_tests.cpp index dd99600..399911d 100644 --- a/test/concept_tests.cpp +++ b/test/concept_tests.cpp @@ -61,35 +61,23 @@ main() (void)derived; boost::function_requires< - boost_concepts::WritableIteratorConcept >(); - boost::function_requires< - boost_concepts::LvalueIteratorConcept >(); + boost_concepts::WritableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); boost::function_requires< - boost_concepts::ReadableIteratorConcept >(); - boost::function_requires< - boost_concepts::LvalueIteratorConcept >(); + boost_concepts::ReadableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); boost::function_requires< - boost_concepts::WritableIteratorConcept >(); - boost::function_requires< - boost_concepts::LvalueIteratorConcept >(); + boost_concepts::WritableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); boost::function_requires< - boost_concepts::WritableIteratorConcept >(); - boost::function_requires< - boost_concepts::LvalueIteratorConcept >(); + boost_concepts::WritableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); - - boost::function_requires< - boost_concepts::InteroperableIteratorConcept >(); - return 0; } diff --git a/test/filter_iterator_test.cpp b/test/filter_iterator_test.cpp index 11c260c..8b4d190 100644 --- a/test/filter_iterator_test.cpp +++ b/test/filter_iterator_test.cpp @@ -125,8 +125,7 @@ int main() > BaseIter; typedef boost::filter_iterator Iter; boost::function_requires< boost::ForwardIteratorConcept >(); - boost::function_requires< boost_concepts::ReadableIteratorConcept >(); - boost::function_requires< boost_concepts::LvalueIteratorConcept >(); + boost::function_requires< boost_concepts::ReadableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::ForwardTraversalConcept >(); } { @@ -137,8 +136,7 @@ int main() > BaseIter; typedef boost::filter_iterator Iter; boost::function_requires< boost::Mutable_ForwardIteratorConcept >(); - boost::function_requires< boost_concepts::WritableIteratorConcept >(); - boost::function_requires< boost_concepts::LvalueIteratorConcept >(); + boost::function_requires< boost_concepts::WritableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::ForwardTraversalConcept >(); } #endif diff --git a/test/indirect_iterator_test.cpp b/test/indirect_iterator_test.cpp index 781c226..56db69b 100644 --- a/test/indirect_iterator_test.cpp +++ b/test/indirect_iterator_test.cpp @@ -175,7 +175,7 @@ main() > c_iter_t; # ifndef NO_MUTABLE_CONST_RA_ITERATOR_INTEROPERABILITY - boost::function_requires< boost_concepts::InteroperableIteratorConcept >(); + boost::function_requires< boost_concepts::InteroperableConcept >(); # endif } diff --git a/test/iterator_adaptor_cc.cpp b/test/iterator_adaptor_cc.cpp index 67683f0..ba7e79b 100644 --- a/test/iterator_adaptor_cc.cpp +++ b/test/iterator_adaptor_cc.cpp @@ -10,32 +10,20 @@ int main() typedef boost::reverse_iterator rev_iter; typedef boost::reverse_iterator c_rev_iter; - boost::function_requires< boost_concepts::WritableIteratorConcept >(); - boost::function_requires< boost_concepts::LvalueIteratorConcept >(); + boost::function_requires< boost_concepts::WritableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); boost::function_requires< boost::RandomAccessIteratorConcept >(); - boost::function_requires< boost_concepts::InteroperableIteratorConcept >(); + boost::function_requires< boost_concepts::InteroperableConcept >(); } - - // Many compilers' builtin container iterators don't interoperate well, though - // STLport fixes that problem. -#if defined(__SGI_STL_PORT) \ - || !BOOST_WORKAROUND(__GNUC__, <= 2) \ - && !(BOOST_WORKAROUND(__GNUC__, == 3) && BOOST_WORKAROUND(__GNUC_MINOR__, <= 1)) \ - && !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551)) \ - && !BOOST_WORKAROUND(__LIBCOMO_VERSION__, BOOST_TESTED_AT(29)) \ - && !BOOST_WORKAROUND(BOOST_DINKUMWARE_STDLIB, <= 1) { typedef boost::reverse_iterator::iterator> rev_iter; typedef boost::reverse_iterator::const_iterator> c_rev_iter; - boost::function_requires< boost_concepts::ReadableIteratorConcept >(); - boost::function_requires< boost_concepts::LvalueIteratorConcept >(); + boost::function_requires< boost_concepts::ReadableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::BidirectionalTraversalConcept >(); boost::function_requires< boost::BidirectionalIteratorConcept >(); - boost::function_requires< boost_concepts::InteroperableIteratorConcept >(); + boost::function_requires< boost_concepts::InteroperableConcept >(); } -#endif - + return boost::exit_success; } diff --git a/test/iterator_adaptor_test.cpp b/test/iterator_adaptor_test.cpp index ca39a87..961895f 100644 --- a/test/iterator_adaptor_test.cpp +++ b/test/iterator_adaptor_test.cpp @@ -150,18 +150,18 @@ template struct in_iterator : boost::iterator_adaptor< in_iterator - , boost::input_iterator_archetype_no_proxy + , boost::input_iterator_archetype > { private: typedef boost::iterator_adaptor< in_iterator - , boost::input_iterator_archetype_no_proxy + , boost::input_iterator_archetype > super_t; public: in_iterator() { } - in_iterator(boost::input_iterator_archetype_no_proxy d) : super_t(d) { } + in_iterator(boost::input_iterator_archetype d) : super_t(d) { } }; template @@ -309,7 +309,7 @@ main() // check operator-> with an input iterator { - boost::input_iterator_archetype_no_proxy input_iter; + boost::input_iterator_archetype input_iter; typedef in_iterator adaptor_type; adaptor_type i(input_iter); int zero = 0; diff --git a/test/iterator_archetype_cc.cpp b/test/iterator_archetype_cc.cpp index 6a71551..b5badea 100644 --- a/test/iterator_archetype_cc.cpp +++ b/test/iterator_archetype_cc.cpp @@ -9,54 +9,18 @@ #include #include #include -#include int main() { - { - typedef boost::iterator_archetype< - int - , boost::iterator_archetypes::readable_iterator_t - , boost::random_access_traversal_tag - > iter; - - boost::function_requires< boost_concepts::ReadableIteratorConcept >(); - boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); - } - { - typedef boost::iterator_archetype< - int - , boost::iterator_archetypes::readable_writable_iterator_t - , boost::random_access_traversal_tag - > iter; - - boost::function_requires< boost_concepts::ReadableIteratorConcept >(); - boost::function_requires< boost_concepts::WritableIteratorConcept >(); - boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); - } - { - typedef boost::iterator_archetype< - const int // I don't like adding const to Value. It is redundant. -JGS - , boost::iterator_archetypes::readable_lvalue_iterator_t - , boost::random_access_traversal_tag - > iter; - - boost::function_requires< boost_concepts::ReadableIteratorConcept >(); - boost::function_requires< boost_concepts::LvalueIteratorConcept >(); - boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); - } - { typedef boost::iterator_archetype< int , boost::iterator_archetypes::writable_lvalue_iterator_t , boost::random_access_traversal_tag > iter; - boost::function_requires< boost_concepts::WritableIteratorConcept >(); - boost::function_requires< boost_concepts::LvalueIteratorConcept >(); + boost::function_requires< boost_concepts::WritableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::RandomAccessTraversalConcept >(); - } - - return boost::exit_success; + + return 0; // keep msvc happy } diff --git a/test/iterator_archetype_default_ctor.cpp b/test/iterator_archetype_default_ctor.cpp deleted file mode 100755 index fd10b35..0000000 --- a/test/iterator_archetype_default_ctor.cpp +++ /dev/null @@ -1,22 +0,0 @@ -// -// Copyright Thomas Witt 2004. Permission to copy, use, -// modify, sell and distribute this software is granted provided this -// copyright notice appears in all copies. This software is provided -// "as is" without express or implied warranty, and with no claim as -// to its suitability for any purpose. -// -#include - - -int main() -{ - typedef boost::iterator_archetype< - int - , boost::iterator_archetypes::readable_iterator_t - , boost::single_pass_traversal_tag - > iter; - - // single_pass_traversal iterators are not required to be - // default constructible - iter it; -} diff --git a/test/lvalue_concept_fail_expected.cpp b/test/lvalue_concept_fail_expected.cpp deleted file mode 100644 index b52c52d..0000000 --- a/test/lvalue_concept_fail_expected.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include -#include - -int main() -{ - typedef boost::iterator_archetype< - int - , boost::iterator_archetypes::readable_iterator_t - , boost::single_pass_traversal_tag - > Iter; - boost::function_requires< - boost_concepts::LvalueIteratorConcept >(); - return boost::exit_success; -} diff --git a/test/permutation_iterator_test.cpp b/test/permutation_iterator_test.cpp index ad23300..f409698 100644 --- a/test/permutation_iterator_test.cpp +++ b/test/permutation_iterator_test.cpp @@ -20,7 +20,7 @@ void permutation_test() { // Example taken from documentation of old permutation_iterator. - typedef std::vector< double > element_range_type; + typedef std::vector< int > element_range_type; typedef std::list< int > index_type; const int element_range_size = 10; @@ -52,22 +52,21 @@ void permutation_test() } it = begin; - for( int i1 = 0; i1 < index_size - 1 ; ++++i1, ++++it ) + for( int i1 = 0; i1 < index_size - 1 ; i1+=2, it+=2 ) { index_type::iterator i_it2 = indices.begin(); std::advance( i_it2, i1 ); BOOST_CHECK( *it == elements[ *i_it2 ] ); } - it = begin; - std::advance(it, index_size); + + it = begin + (index_size); for( index_type::iterator i_it3 = indices.end(); it != begin; ) { BOOST_CHECK( *--it == elements[ *--i_it3 ] ); } - it = begin; - std::advance(it, index_size); + it = begin + index_size; for( int i2 = 0; i2 < index_size - 1; i2+=2, --it ) { index_type::iterator i_it4 = --indices.end(); diff --git a/test/reverse_iterator_test.cpp b/test/reverse_iterator_test.cpp index 6686d30..5c3d50e 100644 --- a/test/reverse_iterator_test.cpp +++ b/test/reverse_iterator_test.cpp @@ -31,15 +31,13 @@ int main() { typedef boost::reverse_iterator > Iter; boost::function_requires< boost::BidirectionalIteratorConcept >(); - boost::function_requires< boost_concepts::ReadableIteratorConcept >(); - boost::function_requires< boost_concepts::LvalueIteratorConcept >(); + boost::function_requires< boost_concepts::ReadableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::BidirectionalTraversalConcept >(); } { typedef boost::reverse_iterator > Iter; boost::function_requires< boost::Mutable_BidirectionalIteratorConcept >(); - boost::function_requires< boost_concepts::WritableIteratorConcept >(); - boost::function_requires< boost_concepts::LvalueIteratorConcept >(); + boost::function_requires< boost_concepts::WritableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::BidirectionalTraversalConcept >(); } // Adapting new-style iterators @@ -89,8 +87,7 @@ int main() > iter; typedef boost::reverse_iterator Iter; boost::function_requires< boost::BidirectionalIteratorConcept >(); - boost::function_requires< boost_concepts::ReadableIteratorConcept >(); - boost::function_requires< boost_concepts::LvalueIteratorConcept >(); + boost::function_requires< boost_concepts::ReadableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::BidirectionalTraversalConcept >(); } { @@ -101,8 +98,7 @@ int main() > iter; typedef boost::reverse_iterator Iter; boost::function_requires< boost::BidirectionalIteratorConcept >(); - boost::function_requires< boost_concepts::WritableIteratorConcept >(); - boost::function_requires< boost_concepts::LvalueIteratorConcept >(); + boost::function_requires< boost_concepts::WritableLvalueIteratorConcept >(); boost::function_requires< boost_concepts::BidirectionalTraversalConcept >(); } #endif diff --git a/test/transform_iterator_test.cpp b/test/transform_iterator_test.cpp index 6c02a26..2c9139a 100644 --- a/test/transform_iterator_test.cpp +++ b/test/transform_iterator_test.cpp @@ -115,7 +115,7 @@ main() typedef boost::transform_iterator iter_t; typedef boost::transform_iterator c_iter_t; - boost::function_requires< boost_concepts::InteroperableIteratorConcept >(); + boost::function_requires< boost_concepts::InteroperableConcept >(); } // Test transform_iterator