UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ConcurrentLinearAllocator.h File Reference
#include <atomic>
#include <type_traits>
#include "HAL/Memory.h"
#include "HAL/UnrealMemory.h"
#include "HAL/LowLevelMemTracker.h"
#include "HAL/MallocBinnedCommon.h"
#include "Templates/UniquePtr.h"
#include "Templates/UnrealTypeTraits.h"
#include "Containers/LockFreeFixedSizeAllocator.h"
#include "Misc/MemStack.h"

Go to the source code of this file.

Classes

struct  FAlignedAllocator
 
class  TBlockAllocationCache< BlockSize, Allocator >
 
class  TBlockAllocationLockFreeCache< BlockSize, Allocator >
 
struct  FDefaultBlockAllocationTag
 
class  TLinearAllocatorBase< BlockAllocationTag, ThreadPolicy >
 
struct  TLinearAllocatorBase< BlockAllocationTag, ThreadPolicy >::FBlockHeader::FPlainUInt
 
struct  TLinearAllocatorBase< BlockAllocationTag, ThreadPolicy >::FBlockHeader::FAtomicUInt
 
class  TConcurrentLinearObject< ObjectType, BlockAllocationTag >
 
class  TLinearArrayAllocatorBase< BlockAllocationTag, ThreadPolicy >
 
class  TLinearArrayAllocatorBase< BlockAllocationTag, ThreadPolicy >::ForElementType< ElementType >
 
struct  TAllocatorTraits< TConcurrentLinearArrayAllocator< BlockAllocationTag > >
 
class  TConcurrentLinearBulkObjectAllocator< BlockAllocationTag >
 

Namespaces

namespace  UE
 
namespace  UE::Core
 
namespace  UE::Core::Private
 implementation
 

Macros

#define ASAN_POISON_MEMORY_REGION(addr, size)   ((void)(addr), (void)(size))
 
#define ASAN_UNPOISON_MEMORY_REGION(addr, size)   ((void)(addr), (void)(size))
 
#define IS_ASAN_ENABLED   0
 

Typedefs

typedef FAlignedAllocator FOsAllocator
 
template<typename T >
using TConcurrentLinearAllocator = TLinearAllocatorBase< T, ELinearAllocatorThreadPolicy::ThreadSafe >
 
using FConcurrentLinearAllocator = TLinearAllocatorBase< FDefaultBlockAllocationTag, ELinearAllocatorThreadPolicy::ThreadSafe >
 
using FNonconcurrentLinearAllocator = TLinearAllocatorBase< FDefaultBlockAllocationTag, ELinearAllocatorThreadPolicy::NotThreadSafe >
 
template<typename BlockAllocationTag >
using TConcurrentLinearArrayAllocator = TLinearArrayAllocatorBase< BlockAllocationTag, ELinearAllocatorThreadPolicy::ThreadSafe >
 
template<typename BlockAllocationTag >
using TNonconcurrentLinearArrayAllocator = TLinearArrayAllocatorBase< BlockAllocationTag, ELinearAllocatorThreadPolicy::NotThreadSafe >
 
template<typename BlockAllocationTag >
using TConcurrentLinearBitArrayAllocator = TInlineAllocator< 4, TConcurrentLinearArrayAllocator< BlockAllocationTag > >
 
template<typename BlockAllocationTag >
using TConcurrentLinearSparseArrayAllocator = TSparseArrayAllocator< TConcurrentLinearArrayAllocator< BlockAllocationTag >, TConcurrentLinearBitArrayAllocator< BlockAllocationTag > >
 
template<typename BlockAllocationTag >
using TConcurrentLinearSetAllocator = TSetAllocator< TConcurrentLinearSparseArrayAllocator< BlockAllocationTag >, TInlineAllocator< 1, TConcurrentLinearBitArrayAllocator< BlockAllocationTag > > >
 
using FConcurrentLinearArrayAllocator = TConcurrentLinearArrayAllocator< FDefaultBlockAllocationTag >
 
using FConcurrentLinearBitArrayAllocator = TConcurrentLinearBitArrayAllocator< FDefaultBlockAllocationTag >
 
using FConcurrentLinearSparseArrayAllocator = TConcurrentLinearSparseArrayAllocator< FDefaultBlockAllocationTag >
 
using FConcurrentLinearSetAllocator = TConcurrentLinearSetAllocator< FDefaultBlockAllocationTag >
 
using FNonconcurrentLinearArrayAllocator = TNonconcurrentLinearArrayAllocator< FDefaultBlockAllocationTag >
 
using FConcurrentLinearBulkObjectAllocator = TConcurrentLinearBulkObjectAllocator< FDefaultBlockAllocationTag >
 

Enumerations

enum class  ELinearAllocatorThreadPolicy { ThreadSafe , NotThreadSafe }
 

Functions

CORE_API void UE::Core::Private::OnInvalidConcurrentLinearArrayAllocatorNum (int32 NewNum, SIZE_T NumBytesPerElement)
 

Macro Definition Documentation

◆ ASAN_POISON_MEMORY_REGION

#define ASAN_POISON_MEMORY_REGION (   addr,
  size 
)    ((void)(addr), (void)(size))

◆ ASAN_UNPOISON_MEMORY_REGION

#define ASAN_UNPOISON_MEMORY_REGION (   addr,
  size 
)    ((void)(addr), (void)(size))

◆ IS_ASAN_ENABLED

#define IS_ASAN_ENABLED   0

Typedef Documentation

◆ FConcurrentLinearAllocator

◆ FConcurrentLinearArrayAllocator

◆ FConcurrentLinearBitArrayAllocator

◆ FConcurrentLinearBulkObjectAllocator

◆ FConcurrentLinearSetAllocator

◆ FConcurrentLinearSparseArrayAllocator

◆ FNonconcurrentLinearAllocator

◆ FNonconcurrentLinearArrayAllocator

◆ FOsAllocator

◆ TConcurrentLinearAllocator

◆ TConcurrentLinearArrayAllocator

◆ TConcurrentLinearBitArrayAllocator

◆ TConcurrentLinearSetAllocator

◆ TConcurrentLinearSparseArrayAllocator

◆ TNonconcurrentLinearArrayAllocator

Enumeration Type Documentation

◆ ELinearAllocatorThreadPolicy

Enumerator
ThreadSafe 
NotThreadSafe