! \ingroup highlevelil */
| 250 | \ingroup highlevelil |
| 251 | */ |
| 252 | class HighLevelILInstructionList |
| 253 | { |
| 254 | struct ListIterator |
| 255 | { |
| 256 | HighLevelILIntegerList::const_iterator pos; |
| 257 | bool ast; |
| 258 | size_t instructionIndex; |
| 259 | bool operator==(const ListIterator& a) const { return pos == a.pos; } |
| 260 | bool operator!=(const ListIterator& a) const { return pos != a.pos; } |
| 261 | bool operator<(const ListIterator& a) const { return pos < a.pos; } |
| 262 | ListIterator& operator++() |
| 263 | { |
| 264 | ++pos; |
| 265 | return *this; |
| 266 | } |
| 267 | const HighLevelILInstruction operator*(); |
| 268 | }; |
| 269 | |
| 270 | HighLevelILIntegerList m_list; |
| 271 | bool m_ast; |
| 272 | size_t m_instructionIndex; |
| 273 | |
| 274 | public: |
| 275 | typedef ListIterator const_iterator; |
| 276 | |
| 277 | HighLevelILInstructionList(HighLevelILFunction* func, const BNHighLevelILInstruction& instr, size_t count, |
| 278 | bool asFullAst, size_t instructionIndex); |
| 279 | |
| 280 | const_iterator begin() const; |
| 281 | const_iterator end() const; |
| 282 | size_t size() const; |
| 283 | const HighLevelILInstruction operator[](size_t i) const; |
| 284 | |
| 285 | operator _STD_VECTOR<HighLevelILInstruction>() const; |
| 286 | }; |
| 287 | |
| 288 | /*! |
| 289 | \ingroup highlevelil |
no outgoing calls
no test coverage detected