using System.Runtime.Versioning; namespace Misaki.HighPerformance.LowLevel.Buffer; [Flags] public enum AllocationOption : byte { /// /// Default allocation option. Values are uninitialized. /// None = 0, /// /// Clear the memory to zero upon allocation. /// Clear = 1 << 0 } [Obsolete("Use AllocationHandle instead.")] public enum Allocator : byte { // Make the first allocator as invalid because we don't want to user create a default collection without passing any parameters /// /// The invalid allocator. This value is reserved and should not be used for actual memory allocations. It can be used to indicate an uninitialized or invalid state in allocation scenarios. /// Invalid, /// /// Allocator for temporary allocations. Allocations are automatically released after use automatically. /// Temp, /// /// Allocator for persistent allocations using a free list. Allocations are not automatically released after use, but can be reused to reduce fragmentation, system call and improve performance. /// FreeList, /// /// Allocator for persistent allocations. Allocations are not automatically released after use. /// Persistent, }