OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
InsertionOrderedMap::Iterator Struct Reference

#include <InsertionOrderedMap.h>

+ Collaboration diagram for InsertionOrderedMap::Iterator:

Public Member Functions

 Iterator (InsertionOrderedMap *that, std::vector< llvm::Value * >::iterator v_it)
 
auto & operator++ ()
 
auto operator++ (int)
 
auto & operator* ()
 
auto operator-> ()
 
bool operator== (const Iterator &peer)
 
bool operator!= (const Iterator &peer)
 

Public Attributes

InsertionOrderedMapthat_
 
std::vector< llvm::Value * >
::iterator 
v_it_
 

Detailed Description

Definition at line 65 of file InsertionOrderedMap.h.

Constructor & Destructor Documentation

InsertionOrderedMap::Iterator::Iterator ( InsertionOrderedMap that,
std::vector< llvm::Value * >::iterator  v_it 
)
inline

Definition at line 69 of file InsertionOrderedMap.h.

70  : that_(that), v_it_(v_it) {}
std::vector< llvm::Value * >::iterator v_it_

Member Function Documentation

bool InsertionOrderedMap::Iterator::operator!= ( const Iterator peer)
inline

Definition at line 86 of file InsertionOrderedMap.h.

References v_it_.

86 { return (v_it_ != peer.v_it_); }
std::vector< llvm::Value * >::iterator v_it_
auto& InsertionOrderedMap::Iterator::operator* ( )
inline

Definition at line 73 of file InsertionOrderedMap.h.

References CHECK, InsertionOrderedMap::m_, that_, InsertionOrderedMap::v_, and v_it_.

73  {
74  CHECK(that_);
75  CHECK(v_it_ != that_->v_.end());
76  CHECK(that_->m_.find(*v_it_) != that_->m_.end());
77  return *(that_->m_.find(*v_it_));
78  }
std::vector< llvm::Value * >::iterator v_it_
std::vector< llvm::Value * > v_
#define CHECK(condition)
Definition: Logger.h:291
std::unordered_map< llvm::Value *, llvm::Value * > m_
auto& InsertionOrderedMap::Iterator::operator++ ( void  )
inline

Definition at line 71 of file InsertionOrderedMap.h.

References v_it_.

71 { return ++v_it_; }
std::vector< llvm::Value * >::iterator v_it_
auto InsertionOrderedMap::Iterator::operator++ ( int  )
inline

Definition at line 72 of file InsertionOrderedMap.h.

References v_it_.

72 { return v_it_++; }
std::vector< llvm::Value * >::iterator v_it_
auto InsertionOrderedMap::Iterator::operator-> ( )
inline

Definition at line 79 of file InsertionOrderedMap.h.

References CHECK, InsertionOrderedMap::m_, that_, InsertionOrderedMap::v_, and v_it_.

79  {
80  CHECK(that_);
81  CHECK(v_it_ != that_->v_.end());
82  CHECK(that_->m_.find(*v_it_) != that_->m_.end());
83  return &*(that_->m_.find(*v_it_));
84  }
std::vector< llvm::Value * >::iterator v_it_
std::vector< llvm::Value * > v_
#define CHECK(condition)
Definition: Logger.h:291
std::unordered_map< llvm::Value *, llvm::Value * > m_
bool InsertionOrderedMap::Iterator::operator== ( const Iterator peer)
inline

Definition at line 85 of file InsertionOrderedMap.h.

References v_it_.

85 { return (v_it_ == peer.v_it_); }
std::vector< llvm::Value * >::iterator v_it_

Member Data Documentation

InsertionOrderedMap* InsertionOrderedMap::Iterator::that_

Definition at line 66 of file InsertionOrderedMap.h.

Referenced by operator*(), and operator->().

std::vector<llvm::Value*>::iterator InsertionOrderedMap::Iterator::v_it_

Definition at line 67 of file InsertionOrderedMap.h.

Referenced by operator!=(), operator*(), operator++(), operator->(), and operator==().


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