| 4 | struct IShellItemArray; |
| 5 | |
| 6 | class ShellItemArray |
| 7 | { |
| 8 | IShellItemArray* m_ptr; |
| 9 | public: |
| 10 | |
| 11 | class Iterator |
| 12 | { |
| 13 | IShellItemArray* m_ptr{}; |
| 14 | size_t m_index{}; |
| 15 | public: |
| 16 | Iterator() = default; |
| 17 | Iterator(IShellItemArray* ptr, size_t index = 0) : m_ptr{ ptr }, m_index{ index } {} |
| 18 | |
| 19 | ShellItem operator*(); |
| 20 | Iterator& operator++(); |
| 21 | bool operator==(Iterator const& rhs) const; |
| 22 | |
| 23 | friend class ShellItemArray; |
| 24 | }; |
| 25 | ShellItemArray(IShellItemArray* ptr) : m_ptr{ ptr } {} |
| 26 | |
| 27 | /*iterators*/ |
| 28 | Iterator begin(); |
| 29 | Iterator end(); |
| 30 | |
| 31 | /*element access*/ |
| 32 | ShellItem front(); |
| 33 | ShellItem back(); |
| 34 | ShellItem operator[](size_t index); |
| 35 | |
| 36 | /*observers*/ |
| 37 | size_t size(); |
| 38 | }; |
| 39 |
nothing calls this directly
no outgoing calls
no test coverage detected