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