{!See https://docs.google.com/document/d/1takg_GmIBBKKTj-GHZCwzxohpQz7Bhekivkk72kYMtE/edit for reference implementation of OneTrust, dataLayer and GTM} {!OneTrust Cookies Consent} {!OneTrust Cookies Consent end} {!dataLayer initialization push} {!dataLayer initialization push end} {!Google Tag Manager} {!Google Tag Manager end} Struct RewindableAllocator | Collections | 2.3.0-pre.3
docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Struct RewindableAllocator

    An allocator that is fast like a linear allocator, is threadsafe, and automatically invalidates all allocations made from it, when "rewound" by the user.

    Implements
    AllocatorManager.IAllocator
    Namespace: Unity.Collections
    Assembly: solution.dll
    Syntax
    [BurstCompile]
    public struct RewindableAllocator : AllocatorManager.IAllocator

    Properties

    Name Description
    BlocksAllocated

    Retrieves the number of memory blocks that the allocator has requested from the system.

    EnableBlockFree

    Property to get and set enable block free flag, a flag indicating whether the allocator should enable individual block to be freed.

    Function

    All allocators must implement this property, in order to be installed in the custom allocator table.

    Handle

    Retrieve the AllocatorHandle associated with this allocator. The handle is used as an index into a global table, for times when a reference to the allocator object isn't available.

    InitialSizeInBytes

    Retrieves the size of the initial memory block, as requested in the Initialize function.

    IsAutoDispose

    Check whether this allocator will automatically dispose allocations.

    IsCustomAllocator

    Check whether this AllocatorHandle is a custom allocator.

    ToAllocator

    Retrieve the Allocator associated with this allocator.

    Methods

    Name Description
    AllocateNativeArray<T>(int)

    Allocate a NativeArray of type T from memory that is guaranteed to remain valid until the end of the next Update of this World. There is no need to Dispose the NativeArray so allocated. It is not possible to free the memory by Disposing it - it is automatically freed after the end of the next Update for this World.

    AllocateNativeList<T>(int)

    Allocate a NativeList of type T from memory that is guaranteed to remain valid until the end of the next Update of this World. There is no need to Dispose the NativeList so allocated. It is not possible to free the memory by Disposing it - it is automatically freed after the end of the next Update for this World. The NativeList must be initialized with its maximum capacity; if it were to dynamically resize, up to 1/2 of the total final capacity would be wasted, because the memory can't be dynamically freed.

    Dispose()

    Dispose the allocator. This must be called to free the memory blocks that were allocated from the system.

    Initialize(int, bool)

    Initializes the allocator. Must be called before first use.

    Rewind()

    Rewind the allocator; invalidate all allocations made from it, and potentially also free memory blocks it has allocated from the system.

    Try(ref Block)

    Try to allocate, free, or reallocate a block of memory. This is an internal function, and is not generally called by the user.

    Extension Methods

    AllocatorManager.Allocate<T>(ref T, int, int, int)
    AllocatorManager.Register<T>(ref T, bool, bool, int)
    AllocatorManager.UnmanagedUnregister<T>(ref T)
    AllocatorManager.Unregister<T>(ref T)
    In This Article
    Back to top
    Copyright © 2023 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)