Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

468 lines
19 KiB

  1. // Microsoft Foundation Classes C++ library.
  2. // Copyright (C) 1992-1993 Microsoft Corporation,
  3. // All rights reserved.
  4. // This source code is only intended as a supplement to the
  5. // Microsoft Foundation Classes Reference and Microsoft
  6. // QuickHelp and/or WinHelp documentation provided with the library.
  7. // See these sources for detailed information regarding the
  8. // Microsoft Foundation Classes product.
  9. // Inlines for AFXCOLL.H
  10. #ifdef _AFXCOLL_INLINE
  11. ////////////////////////////////////////////////////////////////////////////
  12. _AFXCOLL_INLINE int CByteArray::GetSize() const
  13. { return m_nSize; }
  14. _AFXCOLL_INLINE int CByteArray::GetUpperBound() const
  15. { return m_nSize-1; }
  16. _AFXCOLL_INLINE void CByteArray::RemoveAll()
  17. { SetSize(0); }
  18. _AFXCOLL_INLINE BYTE CByteArray::GetAt(int nIndex) const
  19. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  20. return m_pData[nIndex]; }
  21. _AFXCOLL_INLINE void CByteArray::SetAt(int nIndex, BYTE newElement)
  22. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  23. m_pData[nIndex] = newElement; }
  24. _AFXCOLL_INLINE BYTE& CByteArray::ElementAt(int nIndex)
  25. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  26. return m_pData[nIndex]; }
  27. _AFXCOLL_INLINE int CByteArray::Add(BYTE newElement)
  28. { int nIndex = m_nSize;
  29. SetAtGrow(nIndex, newElement);
  30. return nIndex; }
  31. _AFXCOLL_INLINE BYTE CByteArray::operator[](int nIndex) const
  32. { return GetAt(nIndex); }
  33. _AFXCOLL_INLINE BYTE& CByteArray::operator[](int nIndex)
  34. { return ElementAt(nIndex); }
  35. ////////////////////////////////////////////////////////////////////////////
  36. _AFXCOLL_INLINE int CWordArray::GetSize() const
  37. { return m_nSize; }
  38. _AFXCOLL_INLINE int CWordArray::GetUpperBound() const
  39. { return m_nSize-1; }
  40. _AFXCOLL_INLINE void CWordArray::RemoveAll()
  41. { SetSize(0); }
  42. _AFXCOLL_INLINE WORD CWordArray::GetAt(int nIndex) const
  43. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  44. return m_pData[nIndex]; }
  45. _AFXCOLL_INLINE void CWordArray::SetAt(int nIndex, WORD newElement)
  46. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  47. m_pData[nIndex] = newElement; }
  48. _AFXCOLL_INLINE WORD& CWordArray::ElementAt(int nIndex)
  49. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  50. return m_pData[nIndex]; }
  51. _AFXCOLL_INLINE int CWordArray::Add(WORD newElement)
  52. { int nIndex = m_nSize;
  53. SetAtGrow(nIndex, newElement);
  54. return nIndex; }
  55. _AFXCOLL_INLINE WORD CWordArray::operator[](int nIndex) const
  56. { return GetAt(nIndex); }
  57. _AFXCOLL_INLINE WORD& CWordArray::operator[](int nIndex)
  58. { return ElementAt(nIndex); }
  59. ////////////////////////////////////////////////////////////////////////////
  60. _AFXCOLL_INLINE int CDWordArray::GetSize() const
  61. { return m_nSize; }
  62. _AFXCOLL_INLINE int CDWordArray::GetUpperBound() const
  63. { return m_nSize-1; }
  64. _AFXCOLL_INLINE void CDWordArray::RemoveAll()
  65. { SetSize(0); }
  66. _AFXCOLL_INLINE DWORD CDWordArray::GetAt(int nIndex) const
  67. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  68. return m_pData[nIndex]; }
  69. _AFXCOLL_INLINE void CDWordArray::SetAt(int nIndex, DWORD newElement)
  70. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  71. m_pData[nIndex] = newElement; }
  72. _AFXCOLL_INLINE DWORD& CDWordArray::ElementAt(int nIndex)
  73. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  74. return m_pData[nIndex]; }
  75. _AFXCOLL_INLINE int CDWordArray::Add(DWORD newElement)
  76. { int nIndex = m_nSize;
  77. SetAtGrow(nIndex, newElement);
  78. return nIndex; }
  79. _AFXCOLL_INLINE DWORD CDWordArray::operator[](int nIndex) const
  80. { return GetAt(nIndex); }
  81. _AFXCOLL_INLINE DWORD& CDWordArray::operator[](int nIndex)
  82. { return ElementAt(nIndex); }
  83. ////////////////////////////////////////////////////////////////////////////
  84. _AFXCOLL_INLINE int CUIntArray::GetSize() const
  85. { return m_nSize; }
  86. _AFXCOLL_INLINE int CUIntArray::GetUpperBound() const
  87. { return m_nSize-1; }
  88. _AFXCOLL_INLINE void CUIntArray::RemoveAll()
  89. { SetSize(0); }
  90. _AFXCOLL_INLINE UINT CUIntArray::GetAt(int nIndex) const
  91. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  92. return m_pData[nIndex]; }
  93. _AFXCOLL_INLINE void CUIntArray::SetAt(int nIndex, UINT newElement)
  94. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  95. m_pData[nIndex] = newElement; }
  96. _AFXCOLL_INLINE UINT& CUIntArray::ElementAt(int nIndex)
  97. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  98. return m_pData[nIndex]; }
  99. _AFXCOLL_INLINE int CUIntArray::Add(UINT newElement)
  100. { int nIndex = m_nSize;
  101. SetAtGrow(nIndex, newElement);
  102. return nIndex; }
  103. _AFXCOLL_INLINE UINT CUIntArray::operator[](int nIndex) const
  104. { return GetAt(nIndex); }
  105. _AFXCOLL_INLINE UINT& CUIntArray::operator[](int nIndex)
  106. { return ElementAt(nIndex); }
  107. ////////////////////////////////////////////////////////////////////////////
  108. _AFXCOLL_INLINE int CPtrArray::GetSize() const
  109. { return m_nSize; }
  110. _AFXCOLL_INLINE int CPtrArray::GetUpperBound() const
  111. { return m_nSize-1; }
  112. _AFXCOLL_INLINE void CPtrArray::RemoveAll()
  113. { SetSize(0); }
  114. _AFXCOLL_INLINE void* CPtrArray::GetAt(int nIndex) const
  115. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  116. return m_pData[nIndex]; }
  117. _AFXCOLL_INLINE void CPtrArray::SetAt(int nIndex, void* newElement)
  118. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  119. m_pData[nIndex] = newElement; }
  120. _AFXCOLL_INLINE void*& CPtrArray::ElementAt(int nIndex)
  121. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  122. return m_pData[nIndex]; }
  123. _AFXCOLL_INLINE int CPtrArray::Add(void* newElement)
  124. { int nIndex = m_nSize;
  125. SetAtGrow(nIndex, newElement);
  126. return nIndex; }
  127. _AFXCOLL_INLINE void* CPtrArray::operator[](int nIndex) const
  128. { return GetAt(nIndex); }
  129. _AFXCOLL_INLINE void*& CPtrArray::operator[](int nIndex)
  130. { return ElementAt(nIndex); }
  131. ////////////////////////////////////////////////////////////////////////////
  132. _AFXCOLL_INLINE int CObArray::GetSize() const
  133. { return m_nSize; }
  134. _AFXCOLL_INLINE int CObArray::GetUpperBound() const
  135. { return m_nSize-1; }
  136. _AFXCOLL_INLINE void CObArray::RemoveAll()
  137. { SetSize(0); }
  138. _AFXCOLL_INLINE CObject* CObArray::GetAt(int nIndex) const
  139. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  140. return m_pData[nIndex]; }
  141. _AFXCOLL_INLINE void CObArray::SetAt(int nIndex, CObject* newElement)
  142. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  143. m_pData[nIndex] = newElement; }
  144. _AFXCOLL_INLINE CObject*& CObArray::ElementAt(int nIndex)
  145. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  146. return m_pData[nIndex]; }
  147. _AFXCOLL_INLINE int CObArray::Add(CObject* newElement)
  148. { int nIndex = m_nSize;
  149. SetAtGrow(nIndex, newElement);
  150. return nIndex; }
  151. _AFXCOLL_INLINE CObject* CObArray::operator[](int nIndex) const
  152. { return GetAt(nIndex); }
  153. _AFXCOLL_INLINE CObject*& CObArray::operator[](int nIndex)
  154. { return ElementAt(nIndex); }
  155. ////////////////////////////////////////////////////////////////////////////
  156. _AFXCOLL_INLINE int CStringArray::GetSize() const
  157. { return m_nSize; }
  158. _AFXCOLL_INLINE int CStringArray::GetUpperBound() const
  159. { return m_nSize-1; }
  160. _AFXCOLL_INLINE void CStringArray::RemoveAll()
  161. { SetSize(0); }
  162. _AFXCOLL_INLINE CString CStringArray::GetAt(int nIndex) const
  163. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  164. return m_pData[nIndex]; }
  165. _AFXCOLL_INLINE void CStringArray::SetAt(int nIndex, const char* newElement)
  166. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  167. m_pData[nIndex] = newElement; }
  168. _AFXCOLL_INLINE CString& CStringArray::ElementAt(int nIndex)
  169. { ASSERT(nIndex >= 0 && nIndex < m_nSize);
  170. return m_pData[nIndex]; }
  171. _AFXCOLL_INLINE int CStringArray::Add(const char* newElement)
  172. { int nIndex = m_nSize;
  173. SetAtGrow(nIndex, newElement);
  174. return nIndex; }
  175. _AFXCOLL_INLINE CString CStringArray::operator[](int nIndex) const
  176. { return GetAt(nIndex); }
  177. _AFXCOLL_INLINE CString& CStringArray::operator[](int nIndex)
  178. { return ElementAt(nIndex); }
  179. ////////////////////////////////////////////////////////////////////////////
  180. _AFXCOLL_INLINE int CPtrList::GetCount() const
  181. { return m_nCount; }
  182. _AFXCOLL_INLINE BOOL CPtrList::IsEmpty() const
  183. { return m_nCount == 0; }
  184. _AFXCOLL_INLINE void*& CPtrList::GetHead()
  185. { ASSERT(m_pNodeHead != NULL);
  186. return m_pNodeHead->data; }
  187. _AFXCOLL_INLINE void* CPtrList::GetHead() const
  188. { ASSERT(m_pNodeHead != NULL);
  189. return m_pNodeHead->data; }
  190. _AFXCOLL_INLINE void*& CPtrList::GetTail()
  191. { ASSERT(m_pNodeTail != NULL);
  192. return m_pNodeTail->data; }
  193. _AFXCOLL_INLINE void* CPtrList::GetTail() const
  194. { ASSERT(m_pNodeTail != NULL);
  195. return m_pNodeTail->data; }
  196. _AFXCOLL_INLINE POSITION CPtrList::GetHeadPosition() const
  197. { return (POSITION) m_pNodeHead; }
  198. _AFXCOLL_INLINE POSITION CPtrList::GetTailPosition() const
  199. { return (POSITION) m_pNodeTail; }
  200. _AFXCOLL_INLINE void*& CPtrList::GetNext(POSITION& rPosition) // return *Position++
  201. { CNode* pNode = (CNode*) rPosition;
  202. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  203. rPosition = (POSITION) pNode->pNext;
  204. return pNode->data; }
  205. _AFXCOLL_INLINE void* CPtrList::GetNext(POSITION& rPosition) const // return *Position++
  206. { CNode* pNode = (CNode*) rPosition;
  207. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  208. rPosition = (POSITION) pNode->pNext;
  209. return pNode->data; }
  210. _AFXCOLL_INLINE void*& CPtrList::GetPrev(POSITION& rPosition) // return *Position--
  211. { CNode* pNode = (CNode*) rPosition;
  212. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  213. rPosition = (POSITION) pNode->pPrev;
  214. return pNode->data; }
  215. _AFXCOLL_INLINE void* CPtrList::GetPrev(POSITION& rPosition) const // return *Position--
  216. { CNode* pNode = (CNode*) rPosition;
  217. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  218. rPosition = (POSITION) pNode->pPrev;
  219. return pNode->data; }
  220. _AFXCOLL_INLINE void*& CPtrList::GetAt(POSITION position)
  221. { CNode* pNode = (CNode*) position;
  222. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  223. return pNode->data; }
  224. _AFXCOLL_INLINE void* CPtrList::GetAt(POSITION position) const
  225. { CNode* pNode = (CNode*) position;
  226. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  227. return pNode->data; }
  228. _AFXCOLL_INLINE void CPtrList::SetAt(POSITION pos, void* newElement)
  229. { CNode* pNode = (CNode*) pos;
  230. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  231. pNode->data = newElement; }
  232. ////////////////////////////////////////////////////////////////////////////
  233. _AFXCOLL_INLINE int CObList::GetCount() const
  234. { return m_nCount; }
  235. _AFXCOLL_INLINE BOOL CObList::IsEmpty() const
  236. { return m_nCount == 0; }
  237. _AFXCOLL_INLINE CObject*& CObList::GetHead()
  238. { ASSERT(m_pNodeHead != NULL);
  239. return m_pNodeHead->data; }
  240. _AFXCOLL_INLINE CObject* CObList::GetHead() const
  241. { ASSERT(m_pNodeHead != NULL);
  242. return m_pNodeHead->data; }
  243. _AFXCOLL_INLINE CObject*& CObList::GetTail()
  244. { ASSERT(m_pNodeTail != NULL);
  245. return m_pNodeTail->data; }
  246. _AFXCOLL_INLINE CObject* CObList::GetTail() const
  247. { ASSERT(m_pNodeTail != NULL);
  248. return m_pNodeTail->data; }
  249. _AFXCOLL_INLINE POSITION CObList::GetHeadPosition() const
  250. { return (POSITION) m_pNodeHead; }
  251. _AFXCOLL_INLINE POSITION CObList::GetTailPosition() const
  252. { return (POSITION) m_pNodeTail; }
  253. _AFXCOLL_INLINE CObject*& CObList::GetNext(POSITION& rPosition) // return *Position++
  254. { CNode* pNode = (CNode*) rPosition;
  255. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  256. rPosition = (POSITION) pNode->pNext;
  257. return pNode->data; }
  258. _AFXCOLL_INLINE CObject* CObList::GetNext(POSITION& rPosition) const // return *Position++
  259. { CNode* pNode = (CNode*) rPosition;
  260. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  261. rPosition = (POSITION) pNode->pNext;
  262. return pNode->data; }
  263. _AFXCOLL_INLINE CObject*& CObList::GetPrev(POSITION& rPosition) // return *Position--
  264. { CNode* pNode = (CNode*) rPosition;
  265. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  266. rPosition = (POSITION) pNode->pPrev;
  267. return pNode->data; }
  268. _AFXCOLL_INLINE CObject* CObList::GetPrev(POSITION& rPosition) const // return *Position--
  269. { CNode* pNode = (CNode*) rPosition;
  270. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  271. rPosition = (POSITION) pNode->pPrev;
  272. return pNode->data; }
  273. _AFXCOLL_INLINE CObject*& CObList::GetAt(POSITION position)
  274. { CNode* pNode = (CNode*) position;
  275. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  276. return pNode->data; }
  277. _AFXCOLL_INLINE CObject* CObList::GetAt(POSITION position) const
  278. { CNode* pNode = (CNode*) position;
  279. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  280. return pNode->data; }
  281. _AFXCOLL_INLINE void CObList::SetAt(POSITION pos, CObject* newElement)
  282. { CNode* pNode = (CNode*) pos;
  283. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  284. pNode->data = newElement; }
  285. ////////////////////////////////////////////////////////////////////////////
  286. _AFXCOLL_INLINE int CStringList::GetCount() const
  287. { return m_nCount; }
  288. _AFXCOLL_INLINE BOOL CStringList::IsEmpty() const
  289. { return m_nCount == 0; }
  290. _AFXCOLL_INLINE CString& CStringList::GetHead()
  291. { ASSERT(m_pNodeHead != NULL);
  292. return m_pNodeHead->data; }
  293. _AFXCOLL_INLINE CString CStringList::GetHead() const
  294. { ASSERT(m_pNodeHead != NULL);
  295. return m_pNodeHead->data; }
  296. _AFXCOLL_INLINE CString& CStringList::GetTail()
  297. { ASSERT(m_pNodeTail != NULL);
  298. return m_pNodeTail->data; }
  299. _AFXCOLL_INLINE CString CStringList::GetTail() const
  300. { ASSERT(m_pNodeTail != NULL);
  301. return m_pNodeTail->data; }
  302. _AFXCOLL_INLINE POSITION CStringList::GetHeadPosition() const
  303. { return (POSITION) m_pNodeHead; }
  304. _AFXCOLL_INLINE POSITION CStringList::GetTailPosition() const
  305. { return (POSITION) m_pNodeTail; }
  306. _AFXCOLL_INLINE CString& CStringList::GetNext(POSITION& rPosition) // return *Position++
  307. { CNode* pNode = (CNode*) rPosition;
  308. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  309. rPosition = (POSITION) pNode->pNext;
  310. return pNode->data; }
  311. _AFXCOLL_INLINE CString CStringList::GetNext(POSITION& rPosition) const // return *Position++
  312. { CNode* pNode = (CNode*) rPosition;
  313. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  314. rPosition = (POSITION) pNode->pNext;
  315. return pNode->data; }
  316. _AFXCOLL_INLINE CString& CStringList::GetPrev(POSITION& rPosition) // return *Position--
  317. { CNode* pNode = (CNode*) rPosition;
  318. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  319. rPosition = (POSITION) pNode->pPrev;
  320. return pNode->data; }
  321. _AFXCOLL_INLINE CString CStringList::GetPrev(POSITION& rPosition) const // return *Position--
  322. { CNode* pNode = (CNode*) rPosition;
  323. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  324. rPosition = (POSITION) pNode->pPrev;
  325. return pNode->data; }
  326. _AFXCOLL_INLINE CString& CStringList::GetAt(POSITION position)
  327. { CNode* pNode = (CNode*) position;
  328. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  329. return pNode->data; }
  330. _AFXCOLL_INLINE CString CStringList::GetAt(POSITION position) const
  331. { CNode* pNode = (CNode*) position;
  332. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  333. return pNode->data; }
  334. _AFXCOLL_INLINE void CStringList::SetAt(POSITION pos, const char* newElement)
  335. { CNode* pNode = (CNode*) pos;
  336. ASSERT(AfxIsValidAddress(pNode, sizeof(CNode)));
  337. pNode->data = newElement; }
  338. ////////////////////////////////////////////////////////////////////////////
  339. _AFXCOLL_INLINE int CMapWordToPtr::GetCount() const
  340. { return m_nCount; }
  341. _AFXCOLL_INLINE BOOL CMapWordToPtr::IsEmpty() const
  342. { return m_nCount == 0; }
  343. _AFXCOLL_INLINE void CMapWordToPtr::SetAt(WORD key, void* newValue)
  344. { (*this)[key] = newValue; }
  345. _AFXCOLL_INLINE POSITION CMapWordToPtr::GetStartPosition() const
  346. { return (m_nCount == 0) ? NULL : BEFORE_START_POSITION; }
  347. _AFXCOLL_INLINE UINT CMapWordToPtr::GetHashTableSize() const
  348. { return m_nHashTableSize; }
  349. ////////////////////////////////////////////////////////////////////////////
  350. _AFXCOLL_INLINE int CMapPtrToWord::GetCount() const
  351. { return m_nCount; }
  352. _AFXCOLL_INLINE BOOL CMapPtrToWord::IsEmpty() const
  353. { return m_nCount == 0; }
  354. _AFXCOLL_INLINE void CMapPtrToWord::SetAt(void* key, WORD newValue)
  355. { (*this)[key] = newValue; }
  356. _AFXCOLL_INLINE POSITION CMapPtrToWord::GetStartPosition() const
  357. { return (m_nCount == 0) ? NULL : BEFORE_START_POSITION; }
  358. _AFXCOLL_INLINE UINT CMapPtrToWord::GetHashTableSize() const
  359. { return m_nHashTableSize; }
  360. ////////////////////////////////////////////////////////////////////////////
  361. _AFXCOLL_INLINE int CMapPtrToPtr::GetCount() const
  362. { return m_nCount; }
  363. _AFXCOLL_INLINE BOOL CMapPtrToPtr::IsEmpty() const
  364. { return m_nCount == 0; }
  365. _AFXCOLL_INLINE void CMapPtrToPtr::SetAt(void* key, void* newValue)
  366. { (*this)[key] = newValue; }
  367. _AFXCOLL_INLINE POSITION CMapPtrToPtr::GetStartPosition() const
  368. { return (m_nCount == 0) ? NULL : BEFORE_START_POSITION; }
  369. _AFXCOLL_INLINE UINT CMapPtrToPtr::GetHashTableSize() const
  370. { return m_nHashTableSize; }
  371. ////////////////////////////////////////////////////////////////////////////
  372. _AFXCOLL_INLINE int CMapWordToOb::GetCount() const
  373. { return m_nCount; }
  374. _AFXCOLL_INLINE BOOL CMapWordToOb::IsEmpty() const
  375. { return m_nCount == 0; }
  376. _AFXCOLL_INLINE void CMapWordToOb::SetAt(WORD key, CObject* newValue)
  377. { (*this)[key] = newValue; }
  378. _AFXCOLL_INLINE POSITION CMapWordToOb::GetStartPosition() const
  379. { return (m_nCount == 0) ? NULL : BEFORE_START_POSITION; }
  380. _AFXCOLL_INLINE UINT CMapWordToOb::GetHashTableSize() const
  381. { return m_nHashTableSize; }
  382. ////////////////////////////////////////////////////////////////////////////
  383. _AFXCOLL_INLINE int CMapStringToPtr::GetCount() const
  384. { return m_nCount; }
  385. _AFXCOLL_INLINE BOOL CMapStringToPtr::IsEmpty() const
  386. { return m_nCount == 0; }
  387. _AFXCOLL_INLINE void CMapStringToPtr::SetAt(const char* key, void* newValue)
  388. { (*this)[key] = newValue; }
  389. _AFXCOLL_INLINE POSITION CMapStringToPtr::GetStartPosition() const
  390. { return (m_nCount == 0) ? NULL : BEFORE_START_POSITION; }
  391. _AFXCOLL_INLINE UINT CMapStringToPtr::GetHashTableSize() const
  392. { return m_nHashTableSize; }
  393. ////////////////////////////////////////////////////////////////////////////
  394. _AFXCOLL_INLINE int CMapStringToOb::GetCount() const
  395. { return m_nCount; }
  396. _AFXCOLL_INLINE BOOL CMapStringToOb::IsEmpty() const
  397. { return m_nCount == 0; }
  398. _AFXCOLL_INLINE void CMapStringToOb::SetAt(const char* key, CObject* newValue)
  399. { (*this)[key] = newValue; }
  400. _AFXCOLL_INLINE POSITION CMapStringToOb::GetStartPosition() const
  401. { return (m_nCount == 0) ? NULL : BEFORE_START_POSITION; }
  402. _AFXCOLL_INLINE UINT CMapStringToOb::GetHashTableSize() const
  403. { return m_nHashTableSize; }
  404. ////////////////////////////////////////////////////////////////////////////
  405. _AFXCOLL_INLINE int CMapStringToString::GetCount() const
  406. { return m_nCount; }
  407. _AFXCOLL_INLINE BOOL CMapStringToString::IsEmpty() const
  408. { return m_nCount == 0; }
  409. _AFXCOLL_INLINE void CMapStringToString::SetAt(const char* key, const char* newValue)
  410. { (*this)[key] = newValue; }
  411. _AFXCOLL_INLINE POSITION CMapStringToString::GetStartPosition() const
  412. { return (m_nCount == 0) ? NULL : BEFORE_START_POSITION; }
  413. _AFXCOLL_INLINE UINT CMapStringToString::GetHashTableSize() const
  414. { return m_nHashTableSize; }
  415. /////////////////////////////////////////////////////////////////////////////
  416. #endif //_AFXCOLL_INLINE