retdec
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance > Class Template Reference

#include <asm_instruction.h>

Public Types

using difference_type = Distance
 
using value_type = Type
 
using reference = Reference
 
using pointer = Pointer
 
using iterator_category = Category
 

Public Member Functions

 iterator_impl (llvm::StoreInst *s, bool end=false)
 
 iterator_impl ()=default
 
 iterator_impl (const iterator_impl &itr)=default
 
iterator_imploperator= (iterator_impl rhs)
 
iterator_imploperator++ ()
 
iterator_impl operator++ (int)
 
iterator_imploperator-- ()
 
iterator_impl operator-- (int)
 
reference operator* ()
 
pointer operator-> ()
 
bool operator== (const iterator_impl &rhs) const
 
bool operator!= (const iterator_impl &rhs) const
 

Private Member Functions

bool isLlvmToAsmInstruction (const llvm::Instruction *i) const
 

Private Attributes

llvm::StoreInst * _first = nullptr
 
llvm::Instruction * _last = nullptr
 
llvm::Instruction * _current = nullptr
 

Member Typedef Documentation

◆ difference_type

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
using retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::difference_type = Distance

◆ iterator_category

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
using retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::iterator_category = Category

◆ pointer

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
using retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::pointer = Pointer

◆ reference

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
using retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::reference = Reference

◆ value_type

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
using retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::value_type = Type

Constructor & Destructor Documentation

◆ iterator_impl() [1/3]

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::iterator_impl ( llvm::StoreInst *  s,
bool  end = false 
)
inline

◆ iterator_impl() [2/3]

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::iterator_impl ( )
default

◆ iterator_impl() [3/3]

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::iterator_impl ( const iterator_impl< Category, Type, Reference, Pointer, Distance > &  itr)
default

Member Function Documentation

◆ isLlvmToAsmInstruction()

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
bool retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::isLlvmToAsmInstruction ( const llvm::Instruction *  i) const
inlineprivate

◆ operator!=()

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
bool retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::operator!= ( const iterator_impl< Category, Type, Reference, Pointer, Distance > &  rhs) const
inline

◆ operator*()

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
reference retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::operator* ( )
inline

◆ operator++() [1/2]

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
iterator_impl& retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
iterator_impl retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::operator++ ( int  )
inline

◆ operator--() [1/2]

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
iterator_impl& retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
iterator_impl retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::operator-- ( int  )
inline

◆ operator->()

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
pointer retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::operator-> ( )
inline

◆ operator=()

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
iterator_impl& retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::operator= ( iterator_impl< Category, Type, Reference, Pointer, Distance >  rhs)
inline

◆ operator==()

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
bool retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::operator== ( const iterator_impl< Category, Type, Reference, Pointer, Distance > &  rhs) const
inline

Member Data Documentation

◆ _current

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
llvm::Instruction* retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::_current = nullptr
private

◆ _first

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
llvm::StoreInst* retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::_first = nullptr
private

◆ _last

template<typename Category , typename Type , typename Reference , typename Pointer , typename Distance >
llvm::Instruction* retdec::bin2llvmir::AsmInstruction::iterator_impl< Category, Type, Reference, Pointer, Distance >::_last = nullptr
private

The documentation for this class was generated from the following file: