! \ingroup mediumlevelil */
| 324 | \ingroup mediumlevelil |
| 325 | */ |
| 326 | class MediumLevelILVariableList |
| 327 | { |
| 328 | struct ListIterator |
| 329 | { |
| 330 | MediumLevelILIntegerList::const_iterator pos; |
| 331 | bool operator==(const ListIterator& a) const { return pos == a.pos; } |
| 332 | bool operator!=(const ListIterator& a) const { return pos != a.pos; } |
| 333 | bool operator<(const ListIterator& a) const { return pos < a.pos; } |
| 334 | ListIterator& operator++() |
| 335 | { |
| 336 | ++pos; |
| 337 | return *this; |
| 338 | } |
| 339 | const Variable operator*(); |
| 340 | }; |
| 341 | |
| 342 | MediumLevelILIntegerList m_list; |
| 343 | |
| 344 | public: |
| 345 | typedef ListIterator const_iterator; |
| 346 | |
| 347 | MediumLevelILVariableList(MediumLevelILFunction* func, const BNMediumLevelILInstruction& instr, size_t count); |
| 348 | |
| 349 | const_iterator begin() const; |
| 350 | const_iterator end() const; |
| 351 | size_t size() const; |
| 352 | const Variable operator[](size_t i) const; |
| 353 | |
| 354 | operator _STD_VECTOR<Variable>() const; |
| 355 | }; |
| 356 | |
| 357 | /*! |
| 358 | \ingroup mediumlevelil |
no outgoing calls
no test coverage detected