MCPcopy Create free account
hub / github.com/Norbyte/bg3se / ContiguousIterator

Class ContiguousIterator

CoreLib/Base/BaseArray.h:9–94  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7
8template <class T>
9class ContiguousIterator
10{
11public:
12 using value_type = T;
13 using reference = T&;
14 using pointer = T*;
15 using difference_type = int32_t;
16 using size_type = uint32_t;
17 using iterator_category = std::contiguous_iterator_tag;
18
19 ContiguousIterator(T* p) : ptr_(p) {}
20
21 ContiguousIterator operator ++ ()
22 {
23 ++ptr_;
24 return *this;
25 }
26
27 ContiguousIterator operator -- ()
28 {
29 --ptr_;
30 return *this;
31 }
32
33 ContiguousIterator& operator ++ (int)
34 {
35 ContiguousIterator<T> it(ptr_);
36 ++ptr_;
37 return it;
38 }
39
40 ContiguousIterator& operator -- (int)
41 {
42 ContiguousIterator<T> it(ptr_);
43 --ptr_;
44 return it;
45 }
46
47 bool operator == (ContiguousIterator const& it) const
48 {
49 return it.ptr_ == ptr_;
50 }
51
52 bool operator != (ContiguousIterator const& it) const
53 {
54 return it.ptr_ != ptr_;
55 }
56
57 bool operator < (ContiguousIterator const& it) const
58 {
59 return ptr_ < it.ptr_;
60 }
61
62 ContiguousIterator operator + (difference_type n) const
63 {
64 return ContiguousIterator(ptr_ + n);
65 }
66

Callers 2

operator +Method · 0.85
operator -Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected