any_iterator.hpp
Go to the documentation of this file.
7 /*************************************************************************************************/ 19 /*************************************************************************************************/ 23 /*************************************************************************************************/ 38 /*************************************************************************************************/ 78 /*************************************************************************************************/ 98 iter& operator=(iter x) { static_cast<base&>(*this) = adobe::move(static_cast<base&>(x)); return *this; } 114 /*************************************************************************************************/ 127 /*************************************************************************************************/ 137 typedef typename optimized_storage_type<I, any_bidirectional_iterator_interface<V, R, D> >::type base_t; 178 /*************************************************************************************************/ 199 bidirectional_iter& operator=(bidirectional_iter x) { static_cast<base&>(*this) = adobe::move(static_cast<base&>(x)); return *this; } 218 /*************************************************************************************************/ 224 struct any_random_access_iterator_interface : public any_bidirectional_iterator_interface<V, R, D> 231 /*************************************************************************************************/ 241 typedef typename optimized_storage_type<I, any_random_access_iterator_interface<V, R, D> >::type base_t; 296 /*************************************************************************************************/ 316 random_access_iter& operator=(random_access_iter x) { static_cast<base&>(*this) = adobe::move(static_cast<base&>(x)); return *this; } 344 /*************************************************************************************************/ 348 /*************************************************************************************************/ bidirectional_iter(move_from< bidirectional_iter > x) Definition: any_iterator.hpp:197 friend bool operator==(const random_access_iter &x, const random_access_iter &y) Definition: any_iterator.hpp:339 bool equals(const any_bidirectional_iterator_interface< V, R, D > &x) const Definition: any_iterator.hpp:279 virtual R dereference() const =0 interface_type & interface_ref() Definition: poly.hpp:382 bidirectional_iter(const Iter &s) Definition: any_iterator.hpp:195 D distance_to(const random_access_iter &x) const Definition: any_iterator.hpp:330 virtual void decrement()=0 Definition: arg_stream.hpp:51 type(const I &x) Definition: any_iterator.hpp:247 poly_base< any_bidirectional_iterator_interface< V, R, D >, any_bidirectional_iterator_instance< V, R, D >::template type > base Definition: any_iterator.hpp:192 bool equals(const any_bidirectional_iterator_interface< V, R, D > &x) const Definition: any_iterator.hpp:167 BOOST_CLASS_REQUIRE(I, boost, BidirectionalIteratorConcept) R dereference() const Definition: any_iterator.hpp:65 R dereference() const Definition: any_iterator.hpp:256 type(move_from< type > x) Definition: any_iterator.hpp:146 random_access_iter(const Iter &s) Definition: any_iterator.hpp:312 Definition: any_iterator.hpp:84 poly_base< poly_iterator_interface< V, R, D >, poly_iterator_instance< V, R, D >::template type > base Definition: any_iterator.hpp:91 friend bool operator==(const bidirectional_iter &x, const bidirectional_iter &y) Definition: any_iterator.hpp:214 virtual D distance_to(const any_random_access_iterator_interface &x) const =0 bool equal(const random_access_iter &x) const Definition: any_iterator.hpp:335 Definition: any_iterator.hpp:44 bool equal(const bidirectional_iter &x) const Definition: any_iterator.hpp:210 BOOST_CLASS_REQUIRE(I, boost, ForwardIteratorConcept) void decrement() Definition: any_iterator.hpp:262 Authors of a Concept representative F, intended as a template parameter to adobe::poly, will inherit from adobe::poly_base. The first template parameter for adobe::poly_base provides the virtual interface for the concept representative. The second template parameter for adobe::poly_base must inherit from the Concept interface representative. The author's third duty is to provide forwarding functions in a their Concept representative. See the placeable_concept.hpp header file for details. Definition: poly.hpp:259 Definition: any_iterator.hpp:302 virtual void increment()=0 random_access_iter & operator=(random_access_iter x) Definition: any_iterator.hpp:316 optimized_storage_type< I, poly_iterator_interface< V, R, D > >::type base_t Definition: any_iterator.hpp:48 bool equals(const poly_iterator_interface< V, R, D > &x) const Definition: any_iterator.hpp:161 R dereference() const Definition: any_iterator.hpp:152 Definition: functional.hpp:26 void increment() Definition: any_iterator.hpp:259 Abstract interface providing signatures needed to implement "handle" objects modeling a Value (Copyab... Definition: poly.hpp:66 type(move_from< type > x) Definition: any_iterator.hpp:250 type(const I &x) Definition: any_iterator.hpp:143 bool equals(const poly_iterator_interface< V, R, D > &x) const Definition: any_iterator.hpp:273 friend bool operator==(const iter &x, const iter &y) Definition: any_iterator.hpp:110 Definition: any_iterator.hpp:184 optimized_storage_type< I, any_bidirectional_iterator_interface< V, R, D > >::type base_t Definition: any_iterator.hpp:137 bool equals(const any_random_access_iterator_interface< V, R, D > &x) const Definition: any_iterator.hpp:286 bidirectional_iter & operator=(bidirectional_iter x) Definition: any_iterator.hpp:199 D distance_to(const any_random_access_iterator_interface< V, R, D > &x) const Definition: any_iterator.hpp:268 Authors of adobe::poly concept representatives must derive their instance class from this... Definition: poly.hpp:238 void increment() Definition: any_iterator.hpp:155 optimized_storage_type< I, any_random_access_iterator_interface< V, R, D > >::type base_t Definition: any_iterator.hpp:241 virtual void advance(D)=0 BOOST_CLASS_REQUIRE(I, boost, RandomAccessIteratorConcept) virtual bool equals(const poly_iterator_interface &) const =0 poly_base< any_random_access_iterator_interface< V, R, D >, any_random_access_iterator_instance< V, R, D >::template type > base Definition: any_iterator.hpp:309 random_access_iter(move_from< random_access_iter > x) Definition: any_iterator.hpp:314 void advance(D d) Definition: any_iterator.hpp:265 void decrement() Definition: any_iterator.hpp:158 bool equals(const poly_iterator_interface< V, R, D > &x) const Definition: any_iterator.hpp:71 virtual void * cast()=0 virtual const std::type_info & type_info() const =0 |