klee
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
klee::ImmutableMap< K, D, CMP > Class Template Reference

#include <ImmutableMap.h>

Inheritance diagram for klee::ImmutableMap< K, D, CMP >:
Collaboration diagram for klee::ImmutableMap< K, D, CMP >:

Public Types

typedef K key_type
 
typedef std::pair< K, D > value_type
 
typedef ImmutableTree< K,
value_type, _Select1st
< value_type, key_type >, CMP > 
Tree
 
typedef Tree::iterator iterator
 

Public Member Functions

 ImmutableMap ()
 
 ImmutableMap (const ImmutableMap &b)
 
 ~ImmutableMap ()
 
ImmutableMapoperator= (const ImmutableMap &b)
 
bool empty () const
 
size_t count (const key_type &key) const
 
const value_typelookup (const key_type &key) const
 
const value_typelookup_previous (const key_type &key) const
 
const value_typemin () const
 
const value_typemax () const
 
size_t size () const
 
ImmutableMap insert (const value_type &value) const
 
ImmutableMap replace (const value_type &value) const
 
ImmutableMap remove (const key_type &key) const
 
ImmutableMap popMin (const value_type &valueOut) const
 
ImmutableMap popMax (const value_type &valueOut) const
 
iterator begin () const
 
iterator end () const
 
iterator find (const key_type &key) const
 
iterator lower_bound (const key_type &key) const
 
iterator upper_bound (const key_type &key) const
 

Static Public Member Functions

static size_t getAllocated ()
 

Private Member Functions

 ImmutableMap (const Tree &b)
 

Private Attributes

Tree elts
 

Detailed Description

template<class K, class D, class CMP = std::less<K>>
class klee::ImmutableMap< K, D, CMP >

Definition at line 25 of file ImmutableMap.h.

Member Typedef Documentation

template<class K, class D, class CMP = std::less<K>>
typedef Tree::iterator klee::ImmutableMap< K, D, CMP >::iterator

Definition at line 31 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
typedef K klee::ImmutableMap< K, D, CMP >::key_type

Definition at line 27 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
typedef ImmutableTree<K, value_type, _Select1st<value_type,key_type>, CMP> klee::ImmutableMap< K, D, CMP >::Tree

Definition at line 30 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
typedef std::pair<K,D> klee::ImmutableMap< K, D, CMP >::value_type

Definition at line 28 of file ImmutableMap.h.

Constructor & Destructor Documentation

template<class K, class D, class CMP = std::less<K>>
klee::ImmutableMap< K, D, CMP >::ImmutableMap ( const Tree b)
inlineprivate

Definition at line 36 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
klee::ImmutableMap< K, D, CMP >::ImmutableMap ( )
inline

Definition at line 39 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
klee::ImmutableMap< K, D, CMP >::ImmutableMap ( const ImmutableMap< K, D, CMP > &  b)
inline

Definition at line 40 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
klee::ImmutableMap< K, D, CMP >::~ImmutableMap ( )
inline

Definition at line 41 of file ImmutableMap.h.

Member Function Documentation

template<class K, class D, class CMP = std::less<K>>
iterator klee::ImmutableMap< K, D, CMP >::begin ( ) const
inline
template<class K, class D, class CMP = std::less<K>>
size_t klee::ImmutableMap< K, D, CMP >::count ( const key_type key) const
inline

Definition at line 48 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
bool klee::ImmutableMap< K, D, CMP >::empty ( ) const
inline

Definition at line 45 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
iterator klee::ImmutableMap< K, D, CMP >::end ( ) const
inline
template<class K, class D, class CMP = std::less<K>>
iterator klee::ImmutableMap< K, D, CMP >::find ( const key_type key) const
inline

Definition at line 89 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
static size_t klee::ImmutableMap< K, D, CMP >::getAllocated ( )
inlinestatic

Definition at line 99 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
ImmutableMap klee::ImmutableMap< K, D, CMP >::insert ( const value_type value) const
inline

Definition at line 67 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
const value_type* klee::ImmutableMap< K, D, CMP >::lookup ( const key_type key) const
inline

Definition at line 51 of file ImmutableMap.h.

Referenced by klee::AddressSpace::findObject().

Here is the caller graph for this function:

template<class K, class D, class CMP = std::less<K>>
const value_type* klee::ImmutableMap< K, D, CMP >::lookup_previous ( const key_type key) const
inline

Definition at line 54 of file ImmutableMap.h.

Referenced by klee::AddressSpace::resolveOne().

Here is the caller graph for this function:

template<class K, class D, class CMP = std::less<K>>
iterator klee::ImmutableMap< K, D, CMP >::lower_bound ( const key_type key) const
inline

Definition at line 92 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
const value_type& klee::ImmutableMap< K, D, CMP >::max ( ) const
inline

Definition at line 60 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
const value_type& klee::ImmutableMap< K, D, CMP >::min ( ) const
inline

Definition at line 57 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
ImmutableMap& klee::ImmutableMap< K, D, CMP >::operator= ( const ImmutableMap< K, D, CMP > &  b)
inline

Definition at line 43 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
ImmutableMap klee::ImmutableMap< K, D, CMP >::popMax ( const value_type valueOut) const
inline

Definition at line 79 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
ImmutableMap klee::ImmutableMap< K, D, CMP >::popMin ( const value_type valueOut) const
inline

Definition at line 76 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
ImmutableMap klee::ImmutableMap< K, D, CMP >::remove ( const key_type key) const
inline

Definition at line 73 of file ImmutableMap.h.

Referenced by klee::AddressSpace::unbindObject().

Here is the caller graph for this function:

template<class K, class D, class CMP = std::less<K>>
ImmutableMap klee::ImmutableMap< K, D, CMP >::replace ( const value_type value) const
inline

Definition at line 70 of file ImmutableMap.h.

Referenced by klee::AddressSpace::bindObject(), and klee::AddressSpace::getWriteable().

Here is the caller graph for this function:

template<class K, class D, class CMP = std::less<K>>
size_t klee::ImmutableMap< K, D, CMP >::size ( ) const
inline

Definition at line 63 of file ImmutableMap.h.

template<class K, class D, class CMP = std::less<K>>
iterator klee::ImmutableMap< K, D, CMP >::upper_bound ( const key_type key) const
inline

Definition at line 95 of file ImmutableMap.h.

Referenced by klee::Executor::getAddressInfo(), klee::AddressSpace::resolve(), and klee::AddressSpace::resolveOne().

Here is the caller graph for this function:

Member Data Documentation

template<class K, class D, class CMP = std::less<K>>
Tree klee::ImmutableMap< K, D, CMP >::elts
private

Definition at line 34 of file ImmutableMap.h.

Referenced by klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::begin(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::count(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::empty(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::end(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::find(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::insert(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::lookup(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::lookup_previous(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::lower_bound(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::max(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::min(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::operator=(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::popMax(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::popMin(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::remove(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::replace(), klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::size(), and klee::ImmutableMap< const MemoryObject *, ObjectHolder, MemoryObjectLT >::upper_bound().


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