Navigation
| Name | uLangCore |
| Type | Runtime |
| Location | /Engine/Source/Runtime/Solaris/uLangCore/ |
| Module Build Rules | uLangCore.Build.cs |
Classes
| Name | Remarks |
|---|---|
| CAllocatorInstance | This allows smart pointers to free object memory they are holding on to Passing the allocator itself to the free function allows allocation from multiple instances of an allocator and returning memory to the appropriate instance it was allocated from |
| CArchive | Abstract archive base class, similar to UE FArchive Assumes same endian on all platforms |
| CArenaAllocator | Allocates from a series of arenas Memory blocks can not be individually deallocated Deleting this allocator will free all allocated memory NOT thread safe (on purpose, for efficiency) |
| CCRC16 | Helper class for computing a 16 bit CRC We are using the CRC-16-CCITT polynomial (0x1021), but are using a bit reversed algorithm akin to CRC32 and CRC64 algorithms which saves one bit shift |
| CCRC32 | Helper class for computing a 32 bit CRC We are using the CRC-32 polynomial 0x04c11db7 as used by zip, PHP etc., but are using a bit reversed which saves one bit shift |
| CCRC64 | Helper class for computing a 64 bit CRC We are using the ECMA CRC-64 polynomial 0x42F0E1EBA9EA3693 |
| CFloatStateCheckOnly | Scope guard that asserts the current FP state has the IEEE-compliant settings we expect on entry, but never changes state. |
| CFloatStateDoNothing | Scope guard that doesn't actually do anything. |
| CFloatStateSaveRestore | Scope guard that saves current FP state (rounding mode, flush-to-zero etc.) and puts us into fully IEEE compliant mode for the duration of the scope. |
| CHeapRawAllocator | Raw memory allocator that allocates memory from the global heap. |
| CInstancedRawAllocator | Raw memory allocator that keeps a pointer to an allocator instance which is used for allocation. |
| CMath | |
| CNamed | Common parent class for objects with a name. Used for identifying, sorting, etc. |
| CNoncopyable | Utility template for a class that should not be copyable. |
| CObservedMix | Inert version of CObservedMix |
| CRandomStream | Implements a thread-safe random number stream. |
| CSharedMix | Mixin super/base class for objects that need to be reference counted. |
| CSymbol | Symbol representing a text string with an associated id. |
| CSymbolTable | Database keeping track of symbols and their text equivalent. |
| CUnicode | Helper class providing useful unicode functionality. |
| CUTF8StringView | |
| FNull | |
| TArrayG | Templated dynamic array |
| TChooseClass | Chooses between two different classes based on a boolean. |
| TDefaultElementAllocator | The indirect allocation policy always allocates the elements indirectly. |
| TDirectedGraph | |
| TEnableIf | Includes a function in an overload set if the predicate is true. |
| TEvent | Generic event dispatcher. |
| TEventRegistrar | Registration portion of an TEvent<>. |
| TFunction | TFunction |
| TFunctionRef | TFunctionRef |
| THashTable | A Robin-Hood hash table Inspired by https://www.sebastiansylvan.com/post/robin-hood-hashing-should-be-your-default-hash-table-implementation/ and http://codecapsule.com/2013/11/17/robin-hood-hashing-backward-shift-deletion/ |
| TInlineElementAllocator | The inline allocation policy allocates up to a specified number of elements in the same allocation as the container. |
| TMapG | |
| TOPtr | Non-checked version of TOPtr |
| TPointerIsConvertibleFromTo_TestBase | |
| TPointerIsConvertibleFromTo_TestDerived | |
| TPointerIsConvertibleFromTo_Unrelated | |
| TPointerSetHelper | Useful helper function for maintaining sets of pointers |
| TQueueG | Simple templated queue following Unreal's `TQueue_ implementation using a lock-free linked list. |
| TReversePredicate | Helper class to reverse a predicate. Performs Predicate(B, A) |
| TSetG | |
| TSPtrArrayG | Templated dynamic array of shared pointers to elements |
| TSPtrG | TSPtr is a convenience class - it wraps around a pointer to an object that is a subclass of CSharedMix [or any class that has the methods: Reference() & Dereference()] and acts just like a regular pointer except that it automatically references and dereferences the object as needed. |
| TSPtrSetG | Templated dynamic set of shared pointers to elements This is similar to TSPtrArrayG, plus elements are always kept in sorted order and looked up via binary search |
| TUnion | Represents a type which is the union of several other types; i.e. it can have a value whose type is of any the union's subtypes. |
| TUniqueFunction | TUniqueFunction |
| TUPtrArrayG | Templated dynamic array of unique pointers to elements |
| TUPtrG | |
| TUPtrSetG | Templated dynamic set of shared pointers to elements This is similar to TUPtrArrayG, plus elements are always kept in sorted order and looked up via binary search |
| TUTF8String | Simple string class, used mostly for string storage Implements null termination, so can be used as a C-style string (via operator *) The AllocatorType must provide the methods void * Allocate(size_t) and void Deallocate(void *) |
| TUTF8StringBuilder | String builder class Used to modify and manipulate strings |
Structs
| Name | Remarks |
|---|---|
| FFunctionRefStoragePolicy | |
| FFunctionStorage | |
| FIdentityFunctor | A functor which returns whatever is passed to it. Mainly used for generic composition. |
| IFunction_OwnedObject | Common interface to a callable object owned by TFunction. |
| IFunction_OwnedObject_Inline | Common interface to a callable object owned by TFunction. |
| IFunction_OwnedObject_OnHeap | Common interface to a callable object owned by TFunction. |
| SIdentityFunctor | A functor which returns whatever is passed to it. Mainly used for generic composition. |
| SIdxRange | Specifies a range using both beginning and ending indexes. |
| SScriptContainerElement | A type which is used to represent a script type that is unknown at compile time. |
| SSystemParams | Parameters to initialize the uLang module. |
| STextPosition | Position in a text document/string expressed as zero-based row/line and zero-based column/character offset. |
| STextRange | A range in a text document/string expressed as (zero-based) begin and end row/column. |
| SUniCodePointLength | Pair of code point and its length in bytes in UTF-8. |
| SUTF8CodePoint | |
| TAllocatorTraits | |
| TAllocatorTraitsBase | |
| TAnd | Does a boolean AND of the ::Value static members of each type, but short-circuits if any Type::Value == false. |
| TAndValue | |
| TAreTypesEqual | Tests whether two typenames refer to the same type. |
| TCallTraits | TCallTraits |
| TCallTraitsBase | Base class for call traits. Used to more easily refine portions when specializing |
| TCallTraitsParamTypeHelper | Call traits helpers |
| TCanBitwiseRelocate | |
| TCanMoveTArrayPointersBetweenArrayTypes | |
| TCases | |
| TContainerTraits | |
| TContainerTraitsBase | Traits for containers. |
| TDecay | Returns the decayed type of T, meaning it removes all references, qualifiers and applies array-to-pointer and function-to-pointer conversions. |
| TDecayNonReference | |
| TDefaultHashTraits | |
| TDereferenceWrapper | Helper class for dereferencing pointer types in Sort function |
| TDiGraphConstTopologicalIterator | Const iterator for directed-graph elements. |
| TDiGraphTopologicalIterator | Iterator for directed-graph elements. |
| TDiGraphTopologicalIterator_Base | Base functionality for both const and non-const directed-graph iterators. |
| TDiGraphVisitor | Stateful helper for visiting, skipping, and revisiting directed graph nodes. |
| TDisambiguater | Used to disambiguate methods that are overloaded for all possible subtypes of a TUnion where the subtypes may not be distinct. |
| TFuncCanBindToFunctor | |
| TFunction_CopyableOwnedObject | Implementation of IFunction_OwnedObject for a given copyable T. |
| TFunction_OwnedObject | |
| TFunction_UniqueOwnedObject | Implementation of IFunction_OwnedObject for a given non-copyable T. |
| TFunctionRefBase | A class which defines an operator() which will own storage of a callable and invoke the TFunctionRefCaller::Call function on it. |
| TFunctionRefCaller | A class which is used to instantiate the code needed to call a bound function. |
| TFunctionStorage | |
| TFunctorReturnTypeIsCompatible | |
| TGuard | |
| TGuardValue | Exception-safe guard around saving/restoring a value. |
| TIsArithmetic | Traits class which tests if a type is arithmetic. |
| TIsBitwiseConstructible | Tests if a type T is bitwise-constructible from a given argument type U. |
| TIsConstructible | Determines if T is constructible from a set of arguments. |
| TIsContiguousContainer | Traits class which tests if a type is a contiguous container. |
| TIsEnum | |
| TIsIntegral | Traits class which tests if a type is integral. |
| TIsInvocable | Traits class which tests if an instance of CallableType can be invoked with a list of the arguments of the types provided. |
| TIsInvocableImpl | |
| TIsLValueReferenceType | TIsLValueReferenceType |
| TIsMemberPointer | Traits class which tests if a type is a pointer to member (data member or member function). |
| TIsNullableBinding | |
| TIsOptional | Traits class which tests if a type is optional. |
| TIsPODType | Traits class which tests if a type is POD. |
| TIsPointer | Traits class which tests if a type is a pointer. |
| TIsReferenceType | TIsReferenceType |
| TIsRValueReferenceType | TIsRValueReferenceType |
| TIsSame | TIsSameUnreal implementation of std::is_same trait. |
| TIsTArray | Traits class which determines whether or not a type is a TArray. |
| TIsTFunction | Traits class which checks if T is a TFunction<> type. |
| TIsTFunctionRef | Traits class which checks if T is a TFunctionRef<> type. |
| TIsTriviallyDestructible | Traits class which tests if a type has a trivial destructor. |
| TIsTUniqueFunction | Traits class which checks if T is a TFunction<> type. |
| TIsZeroConstructType | TIsZeroConstructType |
| TKeyValuePair | |
| TLess | Binary predicate class for sorting elements in order. |
| TNot | Does a boolean NOT of the Value static members of the type. |
| TOptional | When we have an optional value IsSet() returns true, and GetValue() is meaningful. |
| TOr | Does a boolean OR of the ::Value static members of each type, but short-circuits if any Type::Value == true. |
| TOrValue | |
| TPointerIsConvertibleFromTo | Tests if a From* is convertible to a To* |
| TPointerIsStaticCastableFromTo | |
| TRangeView | |
| TRemoveCV | TRemoveCV |
| TRemovePointer | Removes one level of pointer from a type, e.g.: |
| TRemoveReference | TRemoveReference |
| TStorageOwnerType | |
| TTypeCompatibleBytes | An untyped array of data with compile-time alignment and size derived from another type. |
| TTypeTraits | Traits for types. |
| TTypeTraitsBase | Helper for array traits. |
| TUntil | |
| TUseBitwiseSwap | A traits class which specifies whether a Swap of a given type should swap the bits or use a traditional value-based swap. |
| TValueIterator | |
| TVoid |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Boolean | bool | Default size for uLang Float Type. | uLang/Common/Common.h |
| CUTF8String | uLang::TUTF8String< CHeapRawAllocator > | A string allocated on the heap. | uLang/Common/Text/UTF8String.h |
| CUTF8StringA | uLang::TUTF8String< CInstancedRawAllocator, CAllocatorInstance * > | A string allocated using a given allocator instance. | uLang/Common/Text/UTF8String.h |
| CUTF8StringBuilder | TUTF8StringBuilder< CHeapRawAllocator > | A string allocated on the heap. | uLang/Common/Text/UTF8StringBuilder.h |
| CUTF8StringBuilderA | TUTF8StringBuilder< CInstancedRawAllocator, CAllocatorInstance * > | A string allocated using a given allocator instance. | uLang/Common/Text/UTF8StringBuilder.h |
| EventSubscriberId | uint32_t | uLang/Common/Misc/Event.h | |
| Float | double | Default size for uLang Integer Type. | uLang/Common/Common.h |
| Integer | int64_t | uLang/Common/Common.h | |
| NullPtrType | std::nullptr_t | Type of nullptr. | uLang/Common/Common.h |
| SymbolId | uint32_t | A unique id representing a symbol. | uLang/Common/Text/Symbol.h |
| TArray | TArrayG< ElementType, TDefaultElementAllocator< CHeapRawAllocator > > | Array that allocates elements on the heap. | uLang/Common/Containers/Array.h |
| TArrayA | TArrayG< ElementType, TDefaultElementAllocator< CInstancedRawAllocator >, CAllocatorInstance * > | Array that allocates object using a given allocator instance. | uLang/Common/Containers/Array.h |
| TDecayT | typename TDecay< T >::Type | uLang/Common/Templates/References.h | |
| TEnableIfT | typename TEnableIf< Predicate, Result >::Type | uLang/Common/Templates/Conditionals.h | |
| TMap | TMapG< KeyType, ValueType, TDefaultHashTraits< KeyType >, CHeapRawAllocator > | A map that assumes that the KeyType has a method `GetTypeHash_(), and that allocates memory from the heap. | uLang/Common/Containers/Map.h |
| TMQueue | TQueueG< InElementType, EQueueMode::MultipleProducersSingleConsumer > | Queue that supports multiple producers adding elements that are allocated on the heap. | uLang/Common/Containers/Queue.h |
| TQueue | TQueueG< InElementType > | Queue that allocates elements on the heap. | uLang/Common/Containers/Queue.h |
| TSet | TSetG< ElementType, KeyType, TDefaultHashTraits< ElementType >, CHeapRawAllocator > | A set that assumes that the KeyType has a method `GetTypeHash()_, and that allocates memory from the heap. | uLang/Common/Containers/Set.h |
| TSPtr | TSPtrG< ObjectType, true, CHeapRawAllocator > | Shared pointer that allocates object on the heap. | uLang/Common/Containers/SharedPointer.h |
| TSPtrA | TSPtrG< ObjectType, true, CInstancedRawAllocator, CAllocatorInstance * > | Shared pointer that allocates object using a given allocator instance. | uLang/Common/Containers/SharedPointer.h |
| TSPtrArray | TSPtrArrayG< ElementType, true, TDefaultElementAllocator< CHeapRawAllocator > > | Array of shared pointers that allocates elements on the heap. | uLang/Common/Containers/SharedPointerArray.h |
| TSPtrArrayA | TSPtrArrayG< ElementType, true, TDefaultElementAllocator< CInstancedRawAllocator >, CAllocatorInstance * > | Array of shared pointers that allocates object using a given allocator instance. | uLang/Common/Containers/SharedPointerArray.h |
| TSPtrSet | TSPtrSetG< ElementType, true, KeyType, TDefaultElementAllocator< CHeapRawAllocator > > | Set of shared pointers that allocates elements on the heap. | uLang/Common/Containers/SharedPointerSet.h |
| TSPtrSetA | TSPtrSetG< ElementType, true, KeyType, TDefaultElementAllocator< CInstancedRawAllocator >, CAllocatorInstance * > | Set of shared pointers that allocates object using a given allocator instance. | uLang/Common/Containers/SharedPointerSet.h |
| TSRef | TSPtrG< ObjectType, false, CHeapRawAllocator > | Shared reference that allocates object on the heap. | uLang/Common/Containers/SharedPointer.h |
| TSRefA | TSPtrG< ObjectType, false, CInstancedRawAllocator, CAllocatorInstance * > | Shared reference that allocates object using a given allocator instance. | uLang/Common/Containers/SharedPointer.h |
| TSRefArray | TSPtrArrayG< ElementType, false, TDefaultElementAllocator< CHeapRawAllocator > > | Array of shared references that allocates elements on the heap. | uLang/Common/Containers/SharedPointerArray.h |
| TSRefArrayA | TSPtrArrayG< ElementType, false, TDefaultElementAllocator< CInstancedRawAllocator >, CAllocatorInstance * > | Array of shared references that allocates object using a given allocator instance. | uLang/Common/Containers/SharedPointerArray.h |
| TSRefSet | TSPtrSetG< ElementType, false, KeyType, TDefaultElementAllocator< CHeapRawAllocator > > | Set of shared references that allocates elements on the heap. | uLang/Common/Containers/SharedPointerSet.h |
| TSRefSetA | TSPtrSetG< ElementType, false, KeyType, TDefaultElementAllocator< CInstancedRawAllocator >, CAllocatorInstance * > | Set of shared references that allocates object using a given allocator instance. | uLang/Common/Containers/SharedPointerSet.h |
| TStorageOwnerTypeT | typename TStorageOwnerType< FunctorType, bUnique, bOnHeap >::Type | uLang/Common/Containers/Function.h | |
| TUPtr | TUPtrG< ObjectType, true, CHeapRawAllocator > | Unique pointer that allocates object on the heap. | uLang/Common/Containers/UniquePointer.h |
| TUPtrA | TUPtrG< ObjectType, true, CInstancedRawAllocator, CAllocatorInstance * > | Unique pointer that allocates object using a given allocator instance. | uLang/Common/Containers/UniquePointer.h |
| TUPtrArray | TUPtrArrayG< ElementType, true, TDefaultElementAllocator< CHeapRawAllocator > > | Array of unique pointers that allocates elements on the heap. | uLang/Common/Containers/UniquePointerArray.h |
| TUPtrArrayA | TUPtrArrayG< ElementType, true, TDefaultElementAllocator< CInstancedRawAllocator >, CAllocatorInstance * > | Array of unique pointers that allocates object using a given allocator instance. | uLang/Common/Containers/UniquePointerArray.h |
| TUPtrSet | TUPtrSetG< ElementType, true, KeyType, TDefaultElementAllocator< CHeapRawAllocator > > | Set of unique pointers that allocates elements on the heap. | uLang/Common/Containers/UniquePointerSet.h |
| TUPtrSetA | TUPtrSetG< ElementType, true, KeyType, TDefaultElementAllocator< CInstancedRawAllocator >, CAllocatorInstance * > | Set of unique pointers that allocates object using a given allocator instance. | uLang/Common/Containers/UniquePointerSet.h |
| TURef | TUPtrG< ObjectType, false, CHeapRawAllocator > | Unique reference that allocates object on the heap. | uLang/Common/Containers/UniquePointer.h |
| TURefA | TUPtrG< ObjectType, false, CInstancedRawAllocator, CAllocatorInstance * > | Unique reference that allocates object using a given allocator instance. | uLang/Common/Containers/UniquePointer.h |
| TURefArray | TUPtrArrayG< ElementType, false, TDefaultElementAllocator< CHeapRawAllocator > > | Array of unique references that allocates elements on the heap. | uLang/Common/Containers/UniquePointerArray.h |
| TURefArrayA | TUPtrArrayG< ElementType, false, TDefaultElementAllocator< CInstancedRawAllocator >, CAllocatorInstance * > | Array of unique references that allocates object using a given allocator instance. | uLang/Common/Containers/UniquePointerArray.h |
| TURefSet | TUPtrSetG< ElementType, false, KeyType, TDefaultElementAllocator< CHeapRawAllocator > > | Set of unique references that allocates elements on the heap. | uLang/Common/Containers/UniquePointerSet.h |
| TURefSetA | TUPtrSetG< ElementType, false, KeyType, TDefaultElementAllocator< CInstancedRawAllocator >, CAllocatorInstance * > | Set of unique references that allocates object using a given allocator instance. | uLang/Common/Containers/UniquePointerSet.h |
| UniCodePoint | uint32_t | UTF-32 character / code point. | uLang/Common/Text/Unicode.h |
| UTF8Char | uint8_t | UTF-8 octet. | uLang/Common/Text/Unicode.h |
Enums
Public
| Name | Remarks |
|---|---|
| uLang:: | Copyright Epic Games, Inc. All Rights Reserved. |
| uLang:: | The id of the empty string, hardcoded to a fixed value. |
| uLang::EAssertSeverity | Copyright Epic Games, Inc. All Rights Reserved. |
| uLang::EDefaultInit | Enum used to force default initialization. |
| uLang::EEquate | Comparison result value. |
| uLang::EErrorAction | Generic action after error has occurred. |
| uLang::EIndex | Used to signify an unspecified index. |
| uLang::EIterateResult | Iteration result returned from an iteration. |
| uLang::ELogVerbosity | Copyright Epic Games, Inc. All Rights Reserved. |
| uLang::ENoInit | Enum used in constructors to indicate they should not initialize anything. |
| uLang::EObserverId | Id type for observer pointers. |
| uLang::EQueueMode | Concurrent queue modes. |
| uLang::EResult | Generic error codes. |
| uLang::EVisitResult | Result returned from a visitor functor indicating how to continue or to quit early. |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| uLang::DefaultIndentCString | const char * | Indent defaults. | uLang/Common/Text/UTF8StringBuilder.h |
| uLang::DefaultIndentCStringByteCount | const uint32_t | uLang/Common/Text/UTF8StringBuilder.h | |
| uLang::DefaultIndentEffectiveSpaceCount | const uint32_t | uLang/Common/Text/UTF8StringBuilder.h | |
| uLang::DefaultIndentString | const CUTF8StringView | uLang/Common/Text/UTF8StringBuilder.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ASCII_RANGE | size_t | ASCII Character range is from 0 to 127 so any byte less than this is a valid ASCII character. | uLang/Common/Text/Unicode.h | |
| BYTE_RANGE | size_t | uLang/Common/Text/Unicode.h | ||
| Cases | TCases< Args... > | uLang/Common/Algo/Cases.h | ||
| Float32Max | float | uLang/Common/Misc/Arithmetic.h | ||
| Float32Min | float | uLang/Common/Misc/Arithmetic.h | ||
| Float64Max | double | uLang/Common/Misc/Arithmetic.h | ||
| Float64Min | double | uLang/Common/Misc/Arithmetic.h | ||
| Int32Max | int32_t | uLang/Common/Misc/Arithmetic.h | ||
| Int32MaxMagnitude | uint32_t | uLang/Common/Misc/Arithmetic.h | ||
| Int32Min | int32_t | uLang/Common/Misc/Arithmetic.h | ||
| Int64Max | int64_t | uLang/Common/Misc/Arithmetic.h | ||
| Int64MaxMagnitude | uint64_t | uLang/Common/Misc/Arithmetic.h | ||
| Int64Min | int64_t | uLang/Common/Misc/Arithmetic.h | ||
| MinMergeSubgroupSize | size_t | uLang/Common/Algo/StableSort.h | ||
| uint32_invalid | const uint32_t | Default size for uLang Boolean Type. | uLang/Common/Common.h | |
| UInt32Max | uint32_t | uLang/Common/Misc/Arithmetic.h | ||
| UInt64Max | uint64_t | uLang/Common/Misc/Arithmetic.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
ULANG_FORCEINLINE void operator delete
(
void* Memory, |
Unfortunately, C++ does not have a clean syntax to invoke custom delete operators so this is a bit useless... | uLang/Common/Memory/Allocator.h | |
ULANG_FORCEINLINE void operator delete
(
void* Memory, |
Unfortunately, C++ does not have a clean syntax to invoke custom delete operators so this is a bit useless... | uLang/Common/Memory/Allocator.h | |
ULANG_FORCEINLINE void * operator new
(
size_t NumBytes, |
Deliberately NOT implementing new[] and delete[] here. | uLang/Common/Memory/Allocator.h | |
ULANG_FORCEINLINE void * operator new
(
size_t NumBytes, |
Deliberately NOT implementing new[] and delete[] here. | uLang/Common/Memory/Allocator.h | |
ULANG_FORCEINLINE auto uLang::Algo::BinarySearch
(
const RangeType& Range, |
uLang/Common/Algo/BinarySearch.h | ||
ULANG_FORCEINLINE auto uLang::Algo::BinarySearch
(
const RangeType& Range, |
Returns index to the first found element matching a value in a range, the range must be sorted by < | uLang/Common/Algo/BinarySearch.h | |
ULANG_FORCEINLINE auto uLang::Algo::BinarySearchBy
(
const RangeType& Range, |
uLang/Common/Algo/BinarySearch.h | ||
ULANG_FORCEINLINE auto uLang::Algo::BinarySearchBy
(
const RangeType& Range, |
Returns index to the first found element with projected value matching Value in a range, the range must be sorted by predicate | uLang/Common/Algo/BinarySearch.h | |
ULANG_FORCEINLINE void uLang::Algo::HeapSort
(
RangeType& Range |
Performs heap sort on the elements. Assumes < operator is defined for the element type. | uLang/Common/Algo/HeapSort.h | |
ULANG_FORCEINLINE void uLang::Algo::HeapSort
(
RangeType& Range, |
Performs heap sort on the elements. | uLang/Common/Algo/HeapSort.h | |
ULANG_FORCEINLINE void uLang::Algo::HeapSortBy
(
RangeType& Range, |
Performs heap sort on the elements. Assumes < operator is defined for the projected element type. | uLang/Common/Algo/HeapSort.h | |
ULANG_FORCEINLINE void uLang::Algo::HeapSortBy
(
RangeType& Range, |
Performs heap sort on the elements. | uLang/Common/Algo/HeapSort.h | |
ULANG_FORCEINLINE void uLang::Algo::IntroSort
(
RangeType&& Range |
Sort a range of elements using its operator<. The sort is unstable. | uLang/Common/Algo/IntroSort.h | |
ULANG_FORCEINLINE void uLang::Algo::IntroSort
(
RangeType&& Range, |
Sort a range of elements using a user-defined predicate class. The sort is unstable. | uLang/Common/Algo/IntroSort.h | |
ULANG_FORCEINLINE void uLang::Algo::IntroSortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using the projection's operator<. The sort is unstable. | uLang/Common/Algo/IntroSort.h | |
ULANG_FORCEINLINE void uLang::Algo::IntroSortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using a user-defined predicate class. | uLang/Common/Algo/IntroSort.h | |
ULANG_FORCEINLINE auto uLang::Algo::LowerBound
(
const RangeType& Range, |
uLang/Common/Algo/BinarySearch.h | ||
ULANG_FORCEINLINE auto uLang::Algo::LowerBound
(
const RangeType& Range, |
Performs binary search, resulting in position of the first element >= Value using predicate | uLang/Common/Algo/BinarySearch.h | |
ULANG_FORCEINLINE auto uLang::Algo::LowerBoundBy
(
const RangeType& Range, |
uLang/Common/Algo/BinarySearch.h | ||
ULANG_FORCEINLINE auto uLang::Algo::LowerBoundBy
(
const RangeType& Range, |
Performs binary search, resulting in position of the first element with projected value >= Value using predicate | uLang/Common/Algo/BinarySearch.h | |
ULANG_FORCEINLINE size_t uLang::Algo::Rotate
(
RangeType&& Range, |
Rotates a given amount of elements from the front of the range to the end of the range. | uLang/Common/Algo/Rotate.h | |
ULANG_FORCEINLINE void uLang::Algo::Sort
(
RangeType&& Range |
Sort a range of elements using its operator<. The sort is unstable. | uLang/Common/Algo/Sort.h | |
ULANG_FORCEINLINE void uLang::Algo::Sort
(
RangeType&& Range, |
Sort a range of elements using a user-defined predicate class. The sort is unstable. | uLang/Common/Algo/Sort.h | |
ULANG_FORCEINLINE void uLang::Algo::SortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using the projection's operator<. The sort is unstable. | uLang/Common/Algo/Sort.h | |
ULANG_FORCEINLINE void uLang::Algo::SortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using a user-defined predicate class. | uLang/Common/Algo/Sort.h | |
ULANG_FORCEINLINE void uLang::Algo::StableSort
(
RangeType&& Range |
Sort a range of elements using its operator<. The sort is stable. | uLang/Common/Algo/StableSort.h | |
ULANG_FORCEINLINE void uLang::Algo::StableSort
(
RangeType&& Range, |
Sort a range of elements using a user-defined predicate class. The sort is stable. | uLang/Common/Algo/StableSort.h | |
ULANG_FORCEINLINE void uLang::Algo::StableSortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using the projection's operator<. The sort is stable. | uLang/Common/Algo/StableSort.h | |
ULANG_FORCEINLINE void uLang::Algo::StableSortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using a user-defined predicate class. The sort is stable. | uLang/Common/Algo/StableSort.h | |
ULANG_FORCEINLINE auto uLang::Algo::UpperBound
(
const RangeType& Range, |
uLang/Common/Algo/BinarySearch.h | ||
ULANG_FORCEINLINE auto uLang::Algo::UpperBound
(
const RangeType& Range, |
Performs binary search, resulting in position of the first element > Value using predicate | uLang/Common/Algo/BinarySearch.h | |
ULANG_FORCEINLINE auto uLang::Algo::UpperBoundBy
(
const RangeType& Range, |
uLang/Common/Algo/BinarySearch.h | ||
ULANG_FORCEINLINE auto uLang::Algo::UpperBoundBy
(
const RangeType& Range, |
Performs binary search, resulting in position of the first element with projected value > Value using predicate | uLang/Common/Algo/BinarySearch.h | |
ULANG_FORCEINLINE int32_t uLang::AlgoImpl::HeapGetLeftChildIndex
(
int32_t Index |
Gets the index of the left child of node at Index. | uLang/Common/Algo/HeapSort.h | |
ULANG_FORCEINLINE int32_t uLang::AlgoImpl::HeapGetParentIndex
(
int32_t Index |
Gets the parent index for node at Index. | uLang/Common/Algo/HeapSort.h | |
ULANG_FORCEINLINE void uLang::AlgoImpl::HeapifyInternal
(
RangeValueType* First, |
Builds an implicit min-heap from a range of elements. | uLang/Common/Algo/HeapSort.h | |
ULANG_FORCEINLINE bool uLang::AlgoImpl::HeapIsLeaf
(
int32_t Index, |
Checks if node located at Index is a leaf or not. | uLang/Common/Algo/HeapSort.h | |
ULANG_FORCEINLINE void uLang::AlgoImpl::HeapSiftDown
(
RangeValueType* Heap, |
Fixes a possible violation of order property between node at Index and a child. | uLang/Common/Algo/HeapSort.h | |
ULANG_FORCEINLINE int32_t uLang::AlgoImpl::HeapSiftUp
(
RangeValueType* Heap, |
Fixes a possible violation of order property between node at NodeIndex and a parent. | uLang/Common/Algo/HeapSort.h | |
void uLang::AlgoImpl::HeapSortInternal
(
RangeValueType* First, |
Performs heap sort on the elements. | uLang/Common/Algo/HeapSort.h | |
void uLang::AlgoImpl::IntroSortInternal
(
T* First, |
Implementation of an introspective sort. | uLang/Common/Algo/IntroSort.h | |
ULANG_FORCEINLINE SizeType uLang::AlgoImpl::LowerBoundInternal
(
RangeValueType* First, |
Performs binary search, resulting in position of the first element >= Value | uLang/Common/Algo/BinarySearch.h | |
void uLang::AlgoImpl::Merge
(
T* First, |
uLang/Common/Algo/StableSort.h | ||
size_t uLang::AlgoImpl::RotateInternal
(
T* First, |
uLang/Common/Algo/Rotate.h | ||
void uLang::AlgoImpl::StableSortInternal
(
T* First, |
Sort elements using user defined projection and predicate classes. | uLang/Common/Algo/StableSort.h | |
ULANG_FORCEINLINE SizeType uLang::AlgoImpl::UpperBoundInternal
(
RangeValueType* First, |
Performs binary search, resulting in position of the first element that is larger than the given value | uLang/Common/Algo/BinarySearch.h | |
ULANG_FORCEINLINE constexpr T uLang::AlignUp
(
T Val, |
Aligns a value to the nearest higher multiple of 'Alignment', which must be a power of two. | uLang/Common/Templates/Storage.h | |
bool uLang::AllOf
(
Range&& R, |
uLang/Common/Algo/AllOf.h | ||
bool uLang::AllOf
(
FirstIterator First, |
uLang/Common/Algo/AllOf.h | ||
bool uLang::AnyOf
(
Range&& R, |
uLang/Common/Algo/AnyOf.h | ||
bool uLang::AnyOf
(
FirstIterator First, |
uLang/Common/Algo/AnyOf.h | ||
TFirst uLang::begin
(
TRangeView< TFirst, TLast > const& Range |
uLang/Common/Containers/RangeView.h | ||
bool uLang::CheckedConvertI32I64
(
int64_t Rhs, |
uLang/Common/Misc/Arithmetic.h | ||
bool uLang::CheckedI64Abs
(
int64_t Rhs, |
uLang/Common/Misc/Arithmetic.h | ||
bool uLang::CheckedI64Add
(
int64_t Lhs, |
uLang/Common/Misc/Arithmetic.h | ||
bool uLang::CheckedI64Divide
(
int64_t Lhs, |
uLang/Common/Misc/Arithmetic.h | ||
TOptional< int64_t > uLang::CheckedI64DivideAndRoundDown
(
int64_t Left, |
uLang/Common/Misc/Arithmetic.h | ||
TOptional< int64_t > uLang::CheckedI64DivideAndRoundUp
(
int64_t Left, |
uLang/Common/Misc/Arithmetic.h | ||
bool uLang::CheckedI64Modulo
(
int64_t Lhs, |
uLang/Common/Misc/Arithmetic.h | ||
bool uLang::CheckedI64Multiply
(
int64_t Lhs, |
uLang/Common/Misc/Arithmetic.h | ||
bool uLang::CheckedI64Negate
(
int64_t Rhs, |
Todo: implement the rest of the types (int32_t, int16_t, ...), and then also provide platform specific optimized versions of this. | uLang/Common/Misc/Arithmetic.h | |
bool uLang::CheckedI64Subtract
(
int64_t Lhs, |
uLang/Common/Misc/Arithmetic.h | ||
ULANG_FORCEINLINETEnableIf< TTypeTraits< ElementType >::IsBytewiseComparable, bool >::Type uLang::CompareElements
(
const ElementType* A, |
uLang/Common/Memory/MemoryOps.h | ||
ULANG_FORCEINLINETEnableIfTTypeTraits< ElementType >::IsBytewiseComparable, bool >::Type uLang::CompareElements
(
const ElementType* A, |
uLang/Common/Memory/MemoryOps.h | ||
ULANG_FORCEINLINETEnableIfTIsBitwiseConstructible< DestinationElementType, SourceElementType >::Value >::Type uLang::ConstructElements
(
void* Dest, |
Constructs a range of items into memory from a set of arguments. | uLang/Common/Memory/MemoryOps.h | |
ULANG_FORCEINLINETEnableIf< TIsBitwiseConstructible< DestinationElementType, SourceElementType >::Value >::Type uLang::ConstructElements
(
void* Dest, |
uLang/Common/Memory/MemoryOps.h | ||
bool uLang::Contains
(
TRange&& Range, |
uLang/Common/Algo/Contains.h | ||
bool uLang::Contains
(
TFirst First, |
uLang/Common/Algo/Contains.h | ||
CUTF8String uLang::CppMangling::Demangle
(
const CUTF8StringView& StringView |
uLang/Common/Text/CppMangling.h | ||
CUTF8String uLang::CppMangling::Mangle
(
const CUTF8StringView& StringView |
uLang/Common/Text/CppMangling.h | ||
ULANG_FORCEINLINE int32_t uLang::DefaultCalculateSlackGrow
(
int32_t NumElements, |
uLang/Common/Memory/Allocator.h | ||
ULANG_FORCEINLINE int32_t uLang::DefaultCalculateSlackReserve
(
int32_t NumElements, |
uLang/Common/Memory/Allocator.h | ||
ULANG_FORCEINLINE int32_t uLang::DefaultCalculateSlackShrink
(
int32_t NumElements, |
uLang/Common/Memory/Allocator.h | ||
ULANG_FORCEINLINETEnableIfTIsZeroConstructType< ElementType >::Value >::Type uLang::DefaultConstructElements
(
void* Address, |
Default constructs a range of items in memory. | uLang/Common/Memory/MemoryOps.h | |
ULANG_FORCEINLINETEnableIf< TIsZeroConstructType< ElementType >::Value >::Type uLang::DefaultConstructElements
(
void* Elements, |
uLang/Common/Memory/MemoryOps.h | ||
ULANG_FORCEINLINE size_t uLang::DefaultQuantizeSize
(
size_t Count, |
TODO: Implement for special allocators such as binned allocators | uLang/Common/Memory/Allocator.h | |
ULANG_FORCEINLINETEnableIfTIsTriviallyDestructible< ElementType >::Value >::Type uLang::DestructElement
(
ElementType* Element |
Destructs a single item in memory. | uLang/Common/Memory/MemoryOps.h | |
ULANG_FORCEINLINETEnableIf< TIsTriviallyDestructible< ElementType >::Value >::Type uLang::DestructElement
(
ElementType* Element |
uLang/Common/Memory/MemoryOps.h | ||
ULANG_FORCEINLINETEnableIfTIsTriviallyDestructible< ElementType >::Value >::Type uLang::DestructElements
(
ElementType* Element, |
Destructs a range of items in memory. | uLang/Common/Memory/MemoryOps.h | |
ULANG_FORCEINLINETEnableIf< TIsTriviallyDestructible< ElementType >::Value >::Type uLang::DestructElements
(
ElementType* Elements, |
uLang/Common/Memory/MemoryOps.h | ||
TLast uLang::end
(
TRangeView< TFirst, TLast > const& Range |
uLang/Common/Containers/RangeView.h | ||
bool uLang::Enum_HasAllFlags
(
Enum Flags, |
uLang/Common/Misc/EnumUtils.h | ||
bool uLang::Enum_HasAnyFlags
(
Enum Flags, |
uLang/Common/Misc/EnumUtils.h | ||
void uLang::FilePathUtils::ForeachPartOfPath
(
const CUTF8StringView& Path, |
Invoke a lambda with each part of a path from left to right Slashes at either begin or end of path, as well as double slashes, will result in an invocation with an empty part | uLang/Common/Text/FilePathUtils.h | |
TFirst uLang::Find
(
TFirst First, |
uLang/Common/Algo/Find.h | ||
TFirst uLang::FindIf
(
TFirst First, |
uLang/Common/Algo/FindIf.h | ||
CUTF8String uLang::FindLongestCommonPrefix
(
const TArray< CUTF8String > Strings |
uLang/Common/Text/StringUtils.h | ||
ULANG_FORCEINLINE T && uLang::ForwardArg
(
typename TRemoveReference< T >::Type& Obj |
ForwardArg will cast a reference to an rvalue reference. This is UE's equivalent of std::forward. | uLang/Common/Templates/References.h | |
ULANG_FORCEINLINE T && uLang::ForwardArg
(
typename TRemoveReference< T >::Type&& Obj |
uLang/Common/Templates/References.h | ||
ULANG_FORCEINLINE uint32_t uLang::GetTypeHash
(
const TArray< T > Array |
uLang/Common/Containers/Array.h | ||
uint32_t uLang::GetTypeHash
(
const void* Key |
Default hash function for pointers. | uLang/Common/Containers/HashTraits.h | |
ULANG_FORCEINLINE uint32_t uLang::GetTypeHash
(
const TUTF8String< AllocatorType, AllocatorArgsType... >& String |
Hash function for maps, sets. | uLang/Common/Text/UTF8String.h | |
ULANG_FORCEINLINE uint32_t uLang::GetTypeHash
(
const CUTF8StringView& String |
Hash function for maps, sets. | uLang/Common/Text/UTF8StringView.h | |
uint32_t uLang::HashCombineFast
(
uint32_t A, |
Combines two hash values to get a third. | uLang/Common/Containers/HashTraits.h | |
ULANG_FORCEINLINE auto uLang::Invoke
(
FuncType&& Func, |
Invokes a callable with a set of arguments. | uLang/Common/Templates/Invoke.h | |
ULANG_FORCEINLINE auto uLang::Invoke
(
ReturnType ObjType::* pdm, |
uLang/Common/Templates/Invoke.h | ||
ULANG_FORCEINLINE auto uLang::Invoke
(
ReturnType(ObjType::*)(PMFArgTypes...) PtrMemFun, |
uLang/Common/Templates/Invoke.h | ||
bool uLang::IsFactor
(
int64_t Left, |
uLang/Common/Misc/Arithmetic.h | ||
ULANG_FORCEINLINETRemoveReference< T >::Type && uLang::Move
(
T&& Obj |
Move will cast a reference to an rvalue reference. | uLang/Common/Templates/References.h | |
ULANG_FORCEINLINETRemoveReference< T >::Type && uLang::MoveIfPossible
(
T&& Obj |
MoveIfPossible will cast a reference to an rvalue reference. | uLang/Common/Templates/References.h | |
ULANG_FORCEINLINE bool uLang::operator!=
(
NullPtrType, |
Nullptr inequality operator. | uLang/Common/Containers/Function.h | |
ULANG_FORCEINLINE bool uLang::operator!=
(
const TFunction< FuncType >& Func, |
Nullptr inequality operator. | uLang/Common/Containers/Function.h | |
ULANG_FORCEINLINE bool uLang::operator==
(
NullPtrType, |
Nullptr equality operator. | uLang/Common/Containers/Function.h | |
ULANG_FORCEINLINE bool uLang::operator==
(
const TFunction< FuncType >& Func, |
Nullptr equality operator. | uLang/Common/Containers/Function.h | |
T && uLang::Private::DeclVal() |
uLang/Common/Templates/Invoke.h | ||
ULANG_FORCEINLINE auto uLang::Private::DereferenceIfNecessary
(
CallableType&& Callable |
uLang/Common/Templates/Invoke.h | ||
ULANG_FORCEINLINETEnableIf< TIsNullableBinding< T >::Value, bool >::Type uLang::Private::IsBound
(
const T& Func |
uLang/Common/Containers/Function.h | ||
ULANG_FORCEINLINETEnableIfTIsNullableBinding< T >::Value, bool >::Type uLang::Private::IsBound
(
const T& Func |
uLang/Common/Containers/Function.h | ||
ULANG_FORCEINLINETEnableIfPrivate::TCanBitwiseRelocate< DestinationElementType, SourceElementType >::Value >::Type uLang::RelocateConstructElements
(
void* Dest, |
Relocates a range of items to a new memory location as a new type. | uLang/Common/Memory/MemoryOps.h | |
ULANG_FORCEINLINETEnableIf< Private::TCanBitwiseRelocate< DestinationElementType, SourceElementType >::Value >::Type uLang::RelocateConstructElements
(
void* Dest, |
uLang/Common/Memory/MemoryOps.h | ||
ULANG_FORCEINLINE uint32_t uLang::RotateCRC32
(
uint32_t CRC |
Compute a new CRC32 from a given CRC32 by rotating one bit Due to the nature of CRCs, this will exactly iterate through all possible 32-bit values except for 0 | uLang/Common/Memory/Allocator.h | |
bool uLang::SameSign
(
int64_t Left, |
uLang/Common/Misc/Arithmetic.h | ||
TRangeView< T *, T * > uLang::SingletonRangeView
(
T& Arg |
uLang/Common/Containers/RangeView.h | ||
TEnableIf< TUseBitwiseSwap< T >::Value >::Type uLang::Swap
(
T& A, |
Swap two values. Assumes the types are trivially relocatable. | uLang/Common/Templates/Storage.h | |
TEnableIfTUseBitwiseSwap< T >::Value >::Type uLang::Swap
(
T& A, |
uLang/Common/Templates/Storage.h | ||
uLang::TGuard
(
Function&& |
uLang/Common/Templates/Storage.h | ||
uLang::TRangeView
(
T&& Arg |
uLang/Common/Containers/RangeView.h | ||
uLang::TUntil
(
T&& |
uLang/Common/Containers/ValueRange.h | ||
uLang::TValueIterator
(
T&& |
uLang/Common/Containers/ValueRange.h | ||
decltype(Container.GetData()) uLang::ULangGetData
(
T&& Container |
Generically gets the data pointer of a contiguous container Named differently from GetData() in UnrealTemplate.h to avoid ambiguous overload resolution. | uLang/Common/Templates/Storage.h | |
T * uLang::ULangGetData
(
T(&) Container |
uLang/Common/Templates/Storage.h | ||
T * uLang::ULangGetData
(
std::initializer_list< T > List |
uLang/Common/Templates/Storage.h | ||
FirstIterator uLang::ULangGetData
(
const TRangeView< FirstIterator, LastIterator >& View |
uLang/Common/Templates/Storage.h | ||
size_t uLang::ULangGetNum
(
T&& Container |
Generically gets the number of items in a contiguous container Named differently from GetNum() in UnrealTemplate.h to avoid ambiguous overload resolution. | uLang/Common/Templates/Storage.h | |
size_t uLang::ULangGetNum
(
T(&) Container |
uLang/Common/Templates/Storage.h | ||
size_t uLang::ULangGetNum
(
std::initializer_list< T > List |
uLang/Common/Templates/Storage.h | ||
int32_t uLang::ULangGetNum
(
const TRangeView< FirstIterator, LastIterator >& View |
uLang/Common/Templates/Storage.h | ||
CUTF8String uLang::VerseStringEscaping::EscapeString
(
const CUTF8StringView& StringView |
uLang/Common/Text/VerseStringEscaping.h |