50 typedef typename IEnumeration<T>::Reference
Reference;
53 Enumeration(
const Container& container)
54 : _container(container)
55 , _it( container.begin() )
59 virtual bool onIsValid()
const override
61 return _it != _container.end();
64 virtual void onAdvance()
override
75 const Container& _container;
76 typename Container::const_iterator _it;
83 , _container(&container)
86 BasicEnumerable(
const BasicEnumerable& other) =
delete;
88 virtual ~BasicEnumerable()
91 BasicEnumerable& operator=(
const BasicEnumerable& other) =
delete;
96 _container = &container;
102 Enumeration* e =
new Enumeration(*_container);
108 Container* _container;