summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--highlevelilinstruction.h30
-rw-r--r--lowlevelilinstruction.h60
-rw-r--r--mediumlevelilinstruction.h42
3 files changed, 132 insertions, 0 deletions
diff --git a/highlevelilinstruction.h b/highlevelilinstruction.h
index 86a29423..2e10c485 100644
--- a/highlevelilinstruction.h
+++ b/highlevelilinstruction.h
@@ -181,6 +181,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef uint64_t value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
#ifdef BINARYNINJACORE_LIBRARY
HighLevelILFunction* function;
#else
@@ -219,6 +225,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef size_t value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
HighLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -253,6 +265,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef HighLevelILInstruction value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
HighLevelILIntegerList::const_iterator pos;
bool ast;
size_t instructionIndex;
@@ -292,6 +310,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef SSAVariable value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
HighLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -819,6 +843,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef HighLevelILOperand value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
const HighLevelILOperandList* owner;
_STD_VECTOR<HighLevelILOperandUsage>::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
diff --git a/lowlevelilinstruction.h b/lowlevelilinstruction.h
index 45128b7f..43c31adc 100644
--- a/lowlevelilinstruction.h
+++ b/lowlevelilinstruction.h
@@ -371,6 +371,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef uint64_t value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
#ifdef BINARYNINJACORE_LIBRARY
LowLevelILFunction* function;
const BNLowLevelILInstruction* instr;
@@ -410,6 +416,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef size_t value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
LowLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -444,6 +456,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef std::pair<uint64_t, size_t> value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
LowLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -479,6 +497,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef LowLevelILInstruction value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
LowLevelILIntegerList::const_iterator pos;
size_t instructionIndex;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
@@ -516,6 +540,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef RegisterOrFlag value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
LowLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -550,6 +580,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef SSARegister value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
LowLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -585,6 +621,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef SSARegisterStack value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
LowLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -620,6 +662,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef SSAFlag value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
LowLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -655,6 +703,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef SSARegisterOrFlag value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
LowLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -1227,6 +1281,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef LowLevelILOperand value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
const LowLevelILOperandList* owner;
_STD_VECTOR<LowLevelILOperandUsage>::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
diff --git a/mediumlevelilinstruction.h b/mediumlevelilinstruction.h
index 23413b4a..a1f8e00d 100644
--- a/mediumlevelilinstruction.h
+++ b/mediumlevelilinstruction.h
@@ -220,6 +220,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef uint64_t value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
#ifdef BINARYNINJACORE_LIBRARY
MediumLevelILFunction* function;
#else
@@ -258,6 +264,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef size_t value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
MediumLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -292,6 +304,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef std::pair<uint64_t, size_t> value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
MediumLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -327,6 +345,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef Variable value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
MediumLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -361,6 +385,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef SSAVariable value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
MediumLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
bool operator!=(const ListIterator& a) const { return pos != a.pos; }
@@ -397,6 +427,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef MediumLevelILInstruction value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
size_t instructionIndex;
MediumLevelILIntegerList::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }
@@ -878,6 +914,12 @@ namespace BinaryNinja
{
struct ListIterator
{
+ typedef std::forward_iterator_tag iterator_category;
+ typedef MediumLevelILOperand value_type;
+ typedef std::ptrdiff_t difference_type;
+ typedef void pointer;
+ typedef value_type reference;
+
const MediumLevelILOperandList* owner;
_STD_VECTOR<MediumLevelILOperandUsage>::const_iterator pos;
bool operator==(const ListIterator& a) const { return pos == a.pos; }