| 207 | } |
| 208 | |
| 209 | bool CStdPtrArray::InsertAt(int iIndex, LPVOID pData) |
| 210 | { |
| 211 | if( iIndex == m_nCount ) return Add(pData); |
| 212 | if( iIndex < 0 || iIndex > m_nCount ) return false; |
| 213 | if( ++m_nCount >= m_nAllocated) { |
| 214 | int nAllocated = m_nAllocated * 2; |
| 215 | if( nAllocated == 0 ) nAllocated = 11; |
| 216 | LPVOID* ppVoid = static_cast<LPVOID*>(realloc(m_ppVoid, nAllocated * sizeof(LPVOID))); |
| 217 | if( ppVoid != NULL ) { |
| 218 | m_nAllocated = nAllocated; |
| 219 | m_ppVoid = ppVoid; |
| 220 | } |
| 221 | else { |
| 222 | --m_nCount; |
| 223 | return false; |
| 224 | } |
| 225 | } |
| 226 | memmove(&m_ppVoid[iIndex + 1], &m_ppVoid[iIndex], (m_nCount - iIndex - 1) * sizeof(LPVOID)); |
| 227 | m_ppVoid[iIndex] = pData; |
| 228 | return true; |
| 229 | } |
| 230 | |
| 231 | bool CStdPtrArray::SetAt(int iIndex, LPVOID pData) |
| 232 | { |
no outgoing calls
no test coverage detected