1 #ifndef DM_INSERT_ITERATOR_STL_HPP_INCLUDED
2 #define DM_INSERT_ITERATOR_STL_HPP_INCLUDED
8 #include "DM/config.hpp"
9 #include "DM/Iterator.hpp"
13 template<
typename ContainerT >
19 typedef ContainerT container_type;
20 typedef typename base::pointer pointer;
21 typedef typename base::const_reference const_reference;
28 virtual base& operator=(const_reference value) {
29 Cont.push_back(
handle_type( (pointer)(value.clone()) ) );
33 Cont.push_back(value);
36 virtual base& operator*() {
return *
this; }
37 virtual base& operator++() {
return *
this; };
43 template<
typename ContainerT >
49 typedef ContainerT container_type;
50 typedef typename base::pointer pointer;
51 typedef typename base::const_reference const_reference;
58 virtual base& operator=(const_reference value) {
59 Cont.push_front(
handle_type( (pointer)(value.clone()) ) );
63 Cont.push_front(value);
66 virtual base& operator*() {
return *
this; }
67 virtual base& operator++() {
return *
this; };
75 template<
typename ContainerT >
82 template<
typename ContainerT >
90 #endif //DM_INSERT_ITERATOR_STL_HPP_INCLUDED