#include <xpmap.h>

Classes

struct  SNode
 

Public Member Functions

 CXpMap (const int nGrowBy=10)
 
 CXpMap (const CXpMap &Map)
 
virtual ~CXpMap ()
 
INT_PTR Insert (const KEY &Key, const TYPE &Value)
 
void Remove (const KEY &Key)
 
void RemoveAll ()
 
INT_PTR GetCount () const
 
bool HasKey (const KEY &Key) const
 
INT_PTR FindKey (const KEY &Key) const
 
bool FindValue (const KEY &Key, TYPE &Value) const
 
const KEY & GetKey (const INT_PTR nIndex) const
 
KEY & GetKey (const INT_PTR nIndex)
 
const TYPE & GetValue (const INT_PTR nIndex) const
 
TYPE & GetValue (const INT_PTR nIndex)
 
void GetPair (const INT_PTR nIndex, KEY &Key, TYPE &Value) const
 
CXpMap Union (const CXpMap &Right) const
 
CXpMap Intersection (const CXpMap &Right) const
 
CXpMap Difference (const CXpMap &Right) const
 
const TYPE & operator[] (const INT_PTR nIndex) const
 
TYPE & operator[] (const INT_PTR nIndex)
 
HRESULT Copy (const CXpMap &Map)
 
bool operator== (const CXpMap &Map) const
 
CXpMapoperator= (const CXpMap &Map)
 

Protected Types

typedef CXpArray< SNode * > CPtrArray
 

Protected Member Functions

bool BinarySearch (const KEY &Key, INT_PTR &nIndex) const
 

Protected Attributes

CPtrArray m_SortedArray
 

Member Typedef Documentation

◆ CPtrArray

template<class KEY , class TYPE >
typedef CXpArray<SNode*> CXpMap< KEY, TYPE >::CPtrArray
protected

Constructor & Destructor Documentation

◆ CXpMap() [1/2]

template<class KEY , class TYPE >
CXpMap< KEY, TYPE >::CXpMap ( const int  nGrowBy = 10)

◆ CXpMap() [2/2]

template<class KEY , class TYPE >
CXpMap< KEY, TYPE >::CXpMap ( const CXpMap< KEY, TYPE > &  Map)

◆ ~CXpMap()

template<class KEY , class TYPE >
virtual CXpMap< KEY, TYPE >::~CXpMap ( )
virtual

Member Function Documentation

◆ BinarySearch()

template<class KEY , class TYPE >
bool CXpMap< KEY, TYPE >::BinarySearch ( const KEY &  Key,
INT_PTR &  nIndex 
) const
protected

◆ Copy()

template<class KEY , class TYPE >
HRESULT CXpMap< KEY, TYPE >::Copy ( const CXpMap< KEY, TYPE > &  Map)

◆ Difference()

template<class KEY , class TYPE >
CXpMap CXpMap< KEY, TYPE >::Difference ( const CXpMap< KEY, TYPE > &  Right) const
inline

◆ FindKey()

template<class KEY , class TYPE >
INT_PTR CXpMap< KEY, TYPE >::FindKey ( const KEY &  Key) const
inline

◆ FindValue()

template<class KEY , class TYPE >
bool CXpMap< KEY, TYPE >::FindValue ( const KEY &  Key,
TYPE &  Value 
) const
inline

◆ GetCount()

template<class KEY , class TYPE >
INT_PTR CXpMap< KEY, TYPE >::GetCount ( ) const
inline

◆ GetKey() [1/2]

template<class KEY , class TYPE >
KEY & CXpMap< KEY, TYPE >::GetKey ( const INT_PTR  nIndex)
inline

◆ GetKey() [2/2]

template<class KEY , class TYPE >
const KEY & CXpMap< KEY, TYPE >::GetKey ( const INT_PTR  nIndex) const
inline

◆ GetPair()

template<class KEY , class TYPE >
void CXpMap< KEY, TYPE >::GetPair ( const INT_PTR  nIndex,
KEY &  Key,
TYPE &  Value 
) const
inline

◆ GetValue() [1/2]

template<class KEY , class TYPE >
TYPE & CXpMap< KEY, TYPE >::GetValue ( const INT_PTR  nIndex)
inline

◆ GetValue() [2/2]

template<class KEY , class TYPE >
const TYPE & CXpMap< KEY, TYPE >::GetValue ( const INT_PTR  nIndex) const
inline

◆ HasKey()

template<class KEY , class TYPE >
bool CXpMap< KEY, TYPE >::HasKey ( const KEY &  Key) const
inline

◆ Insert()

template<class KEY , class TYPE >
INT_PTR CXpMap< KEY, TYPE >::Insert ( const KEY &  Key,
const TYPE &  Value 
)

◆ Intersection()

template<class KEY , class TYPE >
CXpMap CXpMap< KEY, TYPE >::Intersection ( const CXpMap< KEY, TYPE > &  Right) const
inline

◆ operator=()

template<class KEY , class TYPE >
CXpMap & CXpMap< KEY, TYPE >::operator= ( const CXpMap< KEY, TYPE > &  Map)

◆ operator==()

template<class KEY , class TYPE >
bool CXpMap< KEY, TYPE >::operator== ( const CXpMap< KEY, TYPE > &  Map) const

◆ operator[]() [1/2]

template<class KEY , class TYPE >
TYPE & CXpMap< KEY, TYPE >::operator[] ( const INT_PTR  nIndex)
inline

◆ operator[]() [2/2]

template<class KEY , class TYPE >
const TYPE & CXpMap< KEY, TYPE >::operator[] ( const INT_PTR  nIndex) const
inline

◆ Remove()

template<class KEY , class TYPE >
void CXpMap< KEY, TYPE >::Remove ( const KEY &  Key)

◆ RemoveAll()

template<class KEY , class TYPE >
void CXpMap< KEY, TYPE >::RemoveAll ( )

◆ Union()

template<class KEY , class TYPE >
CXpMap CXpMap< KEY, TYPE >::Union ( const CXpMap< KEY, TYPE > &  Right) const
inline

Member Data Documentation

◆ m_SortedArray

template<class KEY , class TYPE >
CPtrArray CXpMap< KEY, TYPE >::m_SortedArray
protected

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.