MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / HighLevelILInstructionList

Class HighLevelILInstructionList

highlevelilinstruction.h:252–286  ·  view source on GitHub ↗

! \ingroup highlevelil */

Source from the content-addressed store, hash-verified

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

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected