iterator.hpp
Go to the documentation of this file.
7 /*************************************************************************************************/ 36 /*************************************************************************************************/ 44 /*************************************************************************************************/ 89 /*************************************************************************************************/ 134 typename boost::iterator_reference<typename boost::range_iterator<typename boost::iterator_value<I>::type>::type>::type, 135 typename boost::iterator_difference<typename boost::range_iterator<typename boost::iterator_value<I>::type>::type>::type> 170 typedef typename boost::range_iterator<typename boost::iterator_value<I>::type>::type bottom_iterator_t; 229 inline segmented_iterator<typename boost::range_iterator<R>::type> make_segmented_iterator(R& r) 236 /*************************************************************************************************/ 334 typename S_FN> // A policy object that can compute the distance between two iterators of type IT 336 class step_iterator_adaptor : public boost::iterator_adaptor<DERIVED, IT, boost::use_default, boost::use_default, boost::use_default, typename S_FN::difference_type> { 338 typedef boost::iterator_adaptor<DERIVED, IT, boost::use_default, boost::use_default, boost::use_default, typename S_FN::difference_type> parent_type; 344 step_iterator_adaptor(const IT& it, S_FN step_fn=S_FN()) : parent_type(it), _step_fn(step_fn) {} 356 difference_type distance_to(const step_iterator_adaptor& it) const { return _step_fn.difference(this->base_reference(),it.base_reference()); } 359 // although boost::iterator_adaptor defines these, the default implementation computes distance and compares for zero. 365 bool operator>(const step_iterator_adaptor<D,IT,S_FN>& p1, const step_iterator_adaptor<D,IT,S_FN>& p2) 372 bool operator<(const step_iterator_adaptor<D,IT,S_FN>& p1, const step_iterator_adaptor<D,IT,S_FN>& p2) 378 bool operator>=(const step_iterator_adaptor<D,IT,S_FN>& p1, const step_iterator_adaptor<D,IT,S_FN>& p2) 385 bool operator<=(const step_iterator_adaptor<D,IT,S_FN>& p1, const step_iterator_adaptor<D,IT,S_FN>& p2) 392 bool operator==(const step_iterator_adaptor<D,IT,S_FN>& p1, const step_iterator_adaptor<D,IT,S_FN>& p2) 399 bool operator!=(const step_iterator_adaptor<D,IT,S_FN>& p1, const step_iterator_adaptor<D,IT,S_FN>& p2) 404 /*************************************************************************************************/ 427 /*************************************************************************************************/ 431 /*************************************************************************************************/ 435 /*************************************************************************************************/
friend void swap(index_iterator &x, index_iterator &y) Definition: iterator.hpp:273 segmented_iterator(const segmented_iterator &x) Definition: iterator.hpp:148 bool equal(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, BinaryPredicate pred) Definition: equal.hpp:38 counting_output_iterator() Definition: iterator.hpp:58 index_iterator & operator=(const index_iterator &x) Definition: iterator.hpp:266 std::output_iterator_tag iterator_category Definition: iterator.hpp:53 index_iterator(const index_iterator &x) Definition: iterator.hpp:261 std::iterator_traits< IT >::difference_type base_difference_type Definition: iterator.hpp:339 boost::iterator_adaptor< DERIVED, IT, boost::use_default, boost::use_default, boost::use_default, typename S_FN::difference_type > parent_type Definition: iterator.hpp:338 counting_output_iterator & reference Definition: iterator.hpp:55 Definition: iterator.hpp:131 segmented_iterator(I first, I last) Definition: iterator.hpp:139 bool operator!=(const forest< T > &x, const forest< T > &y) Definition: forest.hpp:719 An iterator over elements which are the result of applying a function to an index. Definition: iterator.hpp:254 step_iterator_adaptor() Definition: iterator.hpp:343 std::iterator_traits< IT >::reference reference Definition: iterator.hpp:341 segmented_iterator< typename boost::range_iterator< R >::type > make_segmented_iterator(R &r) Definition: iterator.hpp:229 Definition: functional.hpp:26 Definition: iterator.hpp:50 std::output_iterator_tag iterator_category Definition: iterator.hpp:411 step_iterator_adaptor(const IT &it, S_FN step_fn=S_FN()) Definition: iterator.hpp:344 counting_output_iterator value_type Definition: iterator.hpp:54 segmented_iterator & operator=(segmented_iterator x) Definition: iterator.hpp:154 std::ptrdiff_t difference_type Definition: iterator.hpp:413 void swap(circular_queue< T > &, circular_queue< T > &) counting_output_iterator(const counting_output_iterator &x) Definition: iterator.hpp:62 S_FN::difference_type difference_type Definition: iterator.hpp:340 bool operator==(counting_output_iterator const &rhs) const Definition: iterator.hpp:76 null_output_iterator_t value_type Definition: iterator.hpp:412 friend void swap(segmented_iterator &x, segmented_iterator &y) Definition: iterator.hpp:159 bool operator>(const step_iterator_adaptor< D, IT, S_FN > &p1, const step_iterator_adaptor< D, IT, S_FN > &p2) Definition: iterator.hpp:365 boost::iterator_range< segmented_iterator< typename boost::range_iterator< R >::type > > make_segmented_range(R &r) Definition: iterator.hpp:219 bool operator>=(const step_iterator_adaptor< D, IT, S_FN > &p1, const step_iterator_adaptor< D, IT, S_FN > &p2) Definition: iterator.hpp:378 A stub iterator that models OutputIterator and outputs nothing. Definition: iterator.hpp:409 |