Loading...
Searching...
No Matches
biterable.hpp
Go to the documentation of this file.
1
4class iterable {
5 BY_ME(iterable)
6
7protected:
8 enum iterationType {
9 NEXT,
10 PREV,
11 FORWARD,
12 BACKWARD
13 };
14
15public:
16 virtual ~iterable() {}
17
18 virtual nbool isEnd() const = 0;
19
20 virtual nbool isReversed() const = 0;
21
22 virtual void rel() = 0;
23
32 virtual ncnt next(ncnt step) { return isReversed() ? stepBackward(step) : stepForward(step); }
33
34 virtual ncnt prev(ncnt step) { return isReversed() ? stepForward(step) : stepBackward(step); }
35
36 virtual ncnt stepForward(ncnt step) = 0;
37 virtual ncnt stepBackward(ncnt step) = 0;
38
39 virtual const K* getKey() const = 0;
40
41 virtual V* getVal() = 0;
42 const V* getVal() const BY_CONST_FUNC(getVal())
43
44 virtual void setVal(const V& newVal) = 0;
45 void setVal(const V* it) BY_SIDE_FUNC(setVal);
46
47 virtual nbool isFrom(const tbicontainable& it) const = 0;
48 nbool isFrom(const tbicontainable* it) const BY_SIDE_FUNC(isFrom);
49
50 virtual tbicontainable<K, V>* getContainer() = 0;
51 const tbicontainable<K, V>* getContainer() const BY_CONST_FUNC(getContainer())
52};
Definition biterable.hpp:4
virtual ncnt next(ncnt step)
Definition biterable.hpp:32
to Top