Go to the documentation of this file. 1 #ifndef BALL_CONCEPT_STDITERATORWRAPPER_H 2 #define BALL_CONCEPT_STDITERATORWRAPPER_H 4 #define IteratorWrapper(type)\ 6 class type##IteratorWrapper\ 9 type##IteratorWrapper(T* c) : container_(c) {}\ 10 type##Iterator begin() { return container_->begin##type(); }\ 11 type##Iterator end() { return container_->end##type(); }\ 17 #define ConstIteratorWrapper(type)\ 19 class type##ConstIteratorWrapper\ 22 type##ConstIteratorWrapper(const T* c) : container_(c) {}\ 23 type##ConstIterator begin() { return container_->begin##type(); }\ 24 type##ConstIterator end() { return container_->end##type(); }\ 30 #define BALL_DECLARE_STD_ITERATOR_WRAPPER(container, type, method_name)\ 31 type##IteratorWrapper< container > method_name () {\ 32 return type##IteratorWrapper< container >(this);\ 34 type##ConstIteratorWrapper< container > method_name () const {\ 35 return type##ConstIteratorWrapper< container >(this);\ 38 #endif //BALL_CONCEPT_STDITERATORWRAPPER_H