/usr/include/BALL/CONCEPT/stdIteratorWrapper.h is in libball1.4-dev 1.4.3~beta1-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #ifndef BALL_CONCEPT_STDITERATORWRAPPER_H
#define BALL_CONCEPT_STDITERATORWRAPPER_H
#define IteratorWrapper(type)\
template<typename T>\
class type##IteratorWrapper\
{\
public:\
type##IteratorWrapper(T* c) : container_(c) {}\
type##Iterator begin() { return container_->begin##type(); }\
type##Iterator end() { return container_->end##type(); }\
\
private:\
T* container_;\
};
#define ConstIteratorWrapper(type)\
template<typename T>\
class type##ConstIteratorWrapper\
{\
public:\
type##ConstIteratorWrapper(const T* c) : container_(c) {}\
type##ConstIterator begin() { return container_->begin##type(); }\
type##ConstIterator end() { return container_->end##type(); }\
\
private:\
const T* container_;\
};
#define BALL_DECLARE_STD_ITERATOR_WRAPPER(container, type, method_name)\
type##IteratorWrapper< container > method_name () {\
return type##IteratorWrapper< container >(this);\
}\
type##ConstIteratorWrapper< container > method_name () const {\
return type##ConstIteratorWrapper< container >(this);\
}
#endif //BALL_CONCEPT_STDITERATORWRAPPER_H
|