Example #1
0
void CFX_BaseSegmentedArray::RemoveAll() {
  if (!m_pIndex) {
    return;
  }
  _ClearIndex(m_IndexDepth, m_IndexSize, (void**)m_pIndex);
  m_pIndex = NULL;
  m_IndexDepth = 0;
  m_DataSize = 0;
}
Example #2
0
static void _ClearIndex(int level, int size, void** pIndex) {
  if (level == 0) {
    FX_Free(pIndex);
    return;
  }
  for (int i = 0; i < size; ++i) {
    if (pIndex[i])
      _ClearIndex(level - 1, size, (void**)pIndex[i]);
  }
  FX_Free(pIndex);
}
Example #3
0
static void _ClearIndex(IFX_Allocator* pAllcator, int level, int size, void** pIndex)
{
    if (level == 0) {
        FX_Allocator_Free(pAllcator, pIndex);
        return;
    }
    for (int i = 0; i < size; i ++) {
        if (pIndex[i] == NULL) {
            continue;
        }
        _ClearIndex(pAllcator, level - 1, size, (void**)pIndex[i]);
    }
    FX_Allocator_Free(pAllcator, pIndex);
}