/// <summary> /// Release all resources associated with this arena /// </summary> public void Dispose() { Factory = null; // prevent any resurrections var owned = _ownedArenas; _ownedArenas = null; if (owned != null) { foreach (var pair in owned) { try { pair.Value.Dispose(); } catch { } // best efforts } owned.Clear(); } var bySize = _blittableBySize; _blittableBySize = null; if (bySize != null) { bySize.Clear(); } }
/// <summary> /// Create a new Arena instance /// </summary> public Arena(ArenaOptions options = null, AllocatorFactory factory = null) { Options = options ?? ArenaOptions.Default; Factory = factory ?? AllocatorFactory.Default; }