51 XnArray(
const XnArray& other) : m_pData(NULL), m_nSize(0), m_nAllocatedSize(0)
86 for (XnUInt32 i = 0; i < nSize; i++)
88 m_pData[i] = pData[i];
109 if (nReservedSize > m_nAllocatedSize)
113 nReservedSize = (nReservedSize >> 1) | nReservedSize;
114 nReservedSize = (nReservedSize >> 2) | nReservedSize;
115 nReservedSize = (nReservedSize >> 4) | nReservedSize;
116 nReservedSize = (nReservedSize >> 8) | nReservedSize;
117 nReservedSize = (nReservedSize >> 16) | nReservedSize;
125 for (XnUInt32 i = 0; i < m_nSize; i++)
127 pNewData[i] = m_pData[i];
135 m_nAllocatedSize = nReservedSize;
143 return (m_nSize == 0);
197 for (XnUInt32 i = m_nSize; i < nSize; i++)
199 m_pData[i] = fillVal;
211 return m_nAllocatedSize;
221 m_pData[nIndex] = val;
230 m_pData[nIndex] = val;
237 return Set(m_nSize, val);
247 for (XnUInt32 i = 0; i < nCount; ++i)
249 m_pData[nOffset + i] = aValues[i];
264 XN_ASSERT(nIndex < m_nSize);
265 return m_pData[nIndex];
271 XN_ASSERT(nIndex < m_nSize);
272 return m_pData[nIndex];
290 return m_pData + m_nSize;
296 return m_pData + m_nSize;
300 void Init(XnUInt32 nBaseSize =
BASE_SIZE)
303 m_nAllocatedSize = nBaseSize;
309 XnUInt32 m_nAllocatedSize;
312 #endif // __XNARRAY_H__