📄 afxcoll.h
字号:
WORD& operator[](void* key);
// add a new (key, value) pair
void SetAt(void* key, WORD newValue);
// removing existing (key, ?) pair
BOOL RemoveKey(void* key);
void RemoveAll();
// iterating all (key, value) pairs
POSITION GetStartPosition() const;
void GetNextAssoc(POSITION& rNextPosition, void*& rKey, WORD& rValue) const;
// advanced features for derived classes
UINT GetHashTableSize() const;
void InitHashTable(UINT hashSize, BOOL bAllocNow = TRUE);
// Overridables: special non-virtual (see map implementation for details)
// Routine used to user-provided hash keys
UINT HashKey(void* key) const;
// Implementation
protected:
CAssoc** m_pHashTable;
UINT m_nHashTableSize;
int m_nCount;
CAssoc* m_pFreeList;
struct CPlex* m_pBlocks;
int m_nBlockSize;
CAssoc* NewAssoc();
void FreeAssoc(CAssoc*);
CAssoc* GetAssocAt(void*, UINT&) const;
public:
~CMapPtrToWord();
#ifdef _DEBUG
void Dump(CDumpContext&) const;
void AssertValid() const;
#endif
protected:
// local typedefs for CTypedPtrMap class template
typedef void* BASE_KEY;
typedef void* BASE_ARG_KEY;
typedef WORD BASE_VALUE;
typedef WORD BASE_ARG_VALUE;
};
/////////////////////////////////////////////////////////////////////////////
class CMapPtrToPtr : public CObject
{
DECLARE_DYNAMIC(CMapPtrToPtr)
protected:
// Association
struct CAssoc
{
CAssoc* pNext;
void* key;
void* value;
};
public:
// Construction
CMapPtrToPtr(int nBlockSize = 10);
// Attributes
// number of elements
int GetCount() const;
BOOL IsEmpty() const;
// Lookup
BOOL Lookup(void* key, void*& rValue) const;
// Operations
// Lookup and add if not there
void*& operator[](void* key);
// add a new (key, value) pair
void SetAt(void* key, void* newValue);
// removing existing (key, ?) pair
BOOL RemoveKey(void* key);
void RemoveAll();
// iterating all (key, value) pairs
POSITION GetStartPosition() const;
void GetNextAssoc(POSITION& rNextPosition, void*& rKey, void*& rValue) const;
// advanced features for derived classes
UINT GetHashTableSize() const;
void InitHashTable(UINT hashSize, BOOL bAllocNow = TRUE);
// Overridables: special non-virtual (see map implementation for details)
// Routine used to user-provided hash keys
UINT HashKey(void* key) const;
// Implementation
protected:
CAssoc** m_pHashTable;
UINT m_nHashTableSize;
int m_nCount;
CAssoc* m_pFreeList;
struct CPlex* m_pBlocks;
int m_nBlockSize;
CAssoc* NewAssoc();
void FreeAssoc(CAssoc*);
CAssoc* GetAssocAt(void*, UINT&) const;
public:
~CMapPtrToPtr();
#ifdef _DEBUG
void Dump(CDumpContext&) const;
void AssertValid() const;
#endif
void* GetValueAt(void* key) const;
protected:
// local typedefs for CTypedPtrMap class template
typedef void* BASE_KEY;
typedef void* BASE_ARG_KEY;
typedef void* BASE_VALUE;
typedef void* BASE_ARG_VALUE;
};
/////////////////////////////////////////////////////////////////////////////
class CMapWordToOb : public CObject
{
DECLARE_SERIAL(CMapWordToOb)
protected:
// Association
struct CAssoc
{
CAssoc* pNext;
WORD key;
CObject* value;
};
public:
// Construction
CMapWordToOb(int nBlockSize = 10);
// Attributes
// number of elements
int GetCount() const;
BOOL IsEmpty() const;
// Lookup
BOOL Lookup(WORD key, CObject*& rValue) const;
// Operations
// Lookup and add if not there
CObject*& operator[](WORD key);
// add a new (key, value) pair
void SetAt(WORD key, CObject* newValue);
// removing existing (key, ?) pair
BOOL RemoveKey(WORD key);
void RemoveAll();
// iterating all (key, value) pairs
POSITION GetStartPosition() const;
void GetNextAssoc(POSITION& rNextPosition, WORD& rKey, CObject*& rValue) const;
// advanced features for derived classes
UINT GetHashTableSize() const;
void InitHashTable(UINT hashSize, BOOL bAllocNow = TRUE);
// Overridables: special non-virtual (see map implementation for details)
// Routine used to user-provided hash keys
UINT HashKey(WORD key) const;
// Implementation
protected:
CAssoc** m_pHashTable;
UINT m_nHashTableSize;
int m_nCount;
CAssoc* m_pFreeList;
struct CPlex* m_pBlocks;
int m_nBlockSize;
CAssoc* NewAssoc();
void FreeAssoc(CAssoc*);
CAssoc* GetAssocAt(WORD, UINT&) const;
public:
~CMapWordToOb();
void Serialize(CArchive&);
#ifdef _DEBUG
void Dump(CDumpContext&) const;
void AssertValid() const;
#endif
protected:
// local typedefs for CTypedPtrMap class template
typedef WORD BASE_KEY;
typedef WORD BASE_ARG_KEY;
typedef CObject* BASE_VALUE;
typedef CObject* BASE_ARG_VALUE;
};
/////////////////////////////////////////////////////////////////////////////
class CMapStringToPtr : public CObject
{
DECLARE_DYNAMIC(CMapStringToPtr)
protected:
// Association
struct CAssoc
{
CAssoc* pNext;
UINT nHashValue; // needed for efficient iteration
CString key;
void* value;
};
public:
// Construction
CMapStringToPtr(int nBlockSize = 10);
// Attributes
// number of elements
int GetCount() const;
BOOL IsEmpty() const;
// Lookup
BOOL Lookup(LPCTSTR key, void*& rValue) const;
BOOL LookupKey(LPCTSTR key, LPCTSTR& rKey) const;
// Operations
// Lookup and add if not there
void*& operator[](LPCTSTR key);
// add a new (key, value) pair
void SetAt(LPCTSTR key, void* newValue);
// removing existing (key, ?) pair
BOOL RemoveKey(LPCTSTR key);
void RemoveAll();
// iterating all (key, value) pairs
POSITION GetStartPosition() const;
void GetNextAssoc(POSITION& rNextPosition, CString& rKey, void*& rValue) const;
// advanced features for derived classes
UINT GetHashTableSize() const;
void InitHashTable(UINT hashSize, BOOL bAllocNow = TRUE);
// Overridables: special non-virtual (see map implementation for details)
// Routine used to user-provided hash keys
UINT HashKey(LPCTSTR key) const;
// Implementation
protected:
CAssoc** m_pHashTable;
UINT m_nHashTableSize;
int m_nCount;
CAssoc* m_pFreeList;
struct CPlex* m_pBlocks;
int m_nBlockSize;
CAssoc* NewAssoc();
void FreeAssoc(CAssoc*);
CAssoc* GetAssocAt(LPCTSTR, UINT&) const;
public:
~CMapStringToPtr();
#ifdef _DEBUG
void Dump(CDumpContext&) const;
void AssertValid() const;
#endif
protected:
// local typedefs for CTypedPtrMap class template
typedef CString BASE_KEY;
typedef LPCTSTR BASE_ARG_KEY;
typedef void* BASE_VALUE;
typedef void* BASE_ARG_VALUE;
};
/////////////////////////////////////////////////////////////////////////////
class CMapStringToOb : public CObject
{
DECLARE_SERIAL(CMapStringToOb)
protected:
// Association
struct CAssoc
{
CAssoc* pNext;
UINT nHashValue; // needed for efficient iteration
CString key;
CObject* value;
};
public:
// Construction
CMapStringToOb(int nBlockSize = 10);
// Attributes
// number of elements
int GetCount() const;
BOOL IsEmpty() const;
// Lookup
BOOL Lookup(LPCTSTR key, CObject*& rValue) const;
BOOL LookupKey(LPCTSTR key, LPCTSTR& rKey) const;
// Operations
// Lookup and add if not there
CObject*& operator[](LPCTSTR key);
// add a new (key, value) pair
void SetAt(LPCTSTR key, CObject* newValue);
// removing existing (key, ?) pair
BOOL RemoveKey(LPCTSTR key);
void RemoveAll();
// iterating all (key, value) pairs
POSITION GetStartPosition() const;
void GetNextAssoc(POSITION& rNextPosition, CString& rKey, CObject*& rValue) const;
// advanced features for derived classes
UINT GetHashTableSize() const;
void InitHashTable(UINT hashSize, BOOL bAllocNow = TRUE);
// Overridables: special non-virtual (see map implementation for details)
// Routine used to user-provided hash keys
UINT HashKey(LPCTSTR key) const;
// Implementation
protected:
CAssoc** m_pHashTable;
UINT m_nHashTableSize;
int m_nCount;
CAssoc* m_pFreeList;
struct CPlex* m_pBlocks;
int m_nBlockSize;
CAssoc* NewAssoc();
void FreeAssoc(CAssoc*);
CAssoc* GetAssocAt(LPCTSTR, UINT&) const;
public:
~CMapStringToOb();
void Serialize(CArchive&);
#ifdef _DEBUG
void Dump(CDumpContext&) const;
void AssertValid() const;
#endif
protected:
// local typedefs for CTypedPtrMap class template
typedef CString BASE_KEY;
typedef LPCTSTR BASE_ARG_KEY;
typedef CObject* BASE_VALUE;
typedef CObject* BASE_ARG_VALUE;
};
/////////////////////////////////////////////////////////////////////////////
class CMapStringToString : public CObject
{
DECLARE_SERIAL(CMapStringToString)
protected:
// Association
struct CAssoc
{
CAssoc* pNext;
UINT nHashValue; // needed for efficient iteration
CString key;
CString value;
};
public:
// Construction
CMapStringToString(int nBlockSize = 10);
// Attributes
// number of elements
int GetCount() const;
BOOL IsEmpty() const;
// Lookup
BOOL Lookup(LPCTSTR key, CString& rValue) const;
BOOL LookupKey(LPCTSTR key, LPCTSTR& rKey) const;
// Operations
// Lookup and add if not there
CString& operator[](LPCTSTR key);
// add a new (key, value) pair
void SetAt(LPCTSTR key, LPCTSTR newValue);
// removing existing (key, ?) pair
BOOL RemoveKey(LPCTSTR key);
void RemoveAll();
// iterating all (key, value) pairs
POSITION GetStartPosition() const;
void GetNextAssoc(POSITION& rNextPosition, CString& rKey, CString& rValue) const;
// advanced features for derived classes
UINT GetHashTableSize() const;
void InitHashTable(UINT hashSize, BOOL bAllocNow = TRUE);
// Overridables: special non-virtual (see map implementation for details)
// Routine used to user-provided hash keys
UINT HashKey(LPCTSTR key) const;
// Implementation
protected:
CAssoc** m_pHashTable;
UINT m_nHashTableSize;
int m_nCount;
CAssoc* m_pFreeList;
struct CPlex* m_pBlocks;
int m_nBlockSize;
CAssoc* NewAssoc();
void FreeAssoc(CAssoc*);
CAssoc* GetAssocAt(LPCTSTR, UINT&) const;
public:
~CMapStringToString();
void Serialize(CArchive&);
#ifdef _DEBUG
void Dump(CDumpContext&) const;
void AssertValid() const;
#endif
protected:
// local typedefs for CTypedPtrMap class template
typedef CString BASE_KEY;
typedef LPCTSTR BASE_ARG_KEY;
typedef CString BASE_VALUE;
typedef LPCTSTR BASE_ARG_VALUE;
};
#ifdef _AFX_PACKING
#pragma pack(pop)
#endif
#ifndef __AFXSTATE_H__
#include <afxstat_.h> // for MFC private state structures
#endif
/////////////////////////////////////////////////////////////////////////////
// Inline function declarations
#ifdef _AFX_ENABLE_INLINES
#define _AFXCOLL_INLINE AFX_INLINE
#include <afxcoll.inl>
#endif
#undef AFX_DATA
#define AFX_DATA
#ifdef _AFX_MINREBUILD
#pragma component(minrebuild, on)
#endif
#ifndef _AFX_FULLTYPEINFO
#pragma component(mintypeinfo, off)
#endif
#endif //!__AFXCOLL_H__
/////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -