Navigation
Unreal Engine C++ API Reference > Runtime > Core
Filters
Classes
Type | Name | Description | |
---|---|---|---|
![]() |
FKahnContext | Some variables shared with subfunctions | |
![]() |
FMutuallyReachableVertexSetContext | Scratch variables shared across multiple calls to FindMostIndependentMutuallyReachableVertexSet | |
![]() |
TLess | ||
![]() |
TPlus | TPlus |
|
![]() |
TTiedTupleAdder |
Typedefs
Name | Description |
---|---|
FKahnHandle | KahnTopologicalSort converts vertices and edges from ElementType to indexes of the vertex in the original UniqueRange of ElementType. |
Enums
Type | Name | Description | |
---|---|---|---|
![]() |
Algo::ENoRef | A special enum indicating that reference should NOT be used when iterating a container. | |
![]() |
Algo::ETopologicalSort | Flags for behavior of TopologicalSort; see the function comment in TopologicalSort.h |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
T | Algo::Accumulate
(
const A& Input, |
Sums a range by successively applying Op. |
![]() |
T | Algo::Accumulate
(
const A& Input, |
Sums a range. |
![]() |
bool | Algo::AllOf
(
const RangeType& Range, |
Checks if every projection of the elements in the range is truthy. |
![]() |
bool | Algo::AllOf
(
const RangeType& Range |
Checks if every element in the range is truthy. |
![]() |
bool | Algo::AnyOf
(
const RangeType& Range, |
Checks if any projection of the elements in the range is truthy. |
![]() |
bool | Algo::AnyOf
(
const RangeType& Range, |
Checks if any projection of the elements in the range is truthy. |
![]() |
bool | Algo::AnyOf
(
const RangeType& Range |
Checks if any element in the range is truthy. |
![]() |
decltype(GetNum(Range)) | Algo::BinarySearch
(
RangeType& Range, |
Returns index to the first found element matching a value in a range, the range must be sorted by < |
![]() |
auto | Algo::BinarySearch
(
RangeType& Range, |
|
![]() |
decltype(GetNum(Range)) | Algo::BinarySearchBy
(
RangeType& Range, |
Returns index to the first found element with projected value matching Value in a range, the range must be sorted by predicate |
![]() |
auto | Algo::BinarySearchBy
(
RangeType& Range, |
|
![]() |
bool | Algo::Compare
(
InAT&& InputA, |
Compares two contiguous containers using operator== to compare pairs of elements. |
![]() |
bool | Algo::Compare
(
InAT&& InputA, |
Compares two contiguous containers using a predicate to compare pairs of elements. |
![]() |
bool | Algo::CompareBy
(
InAT&& InputA, |
Compares two contiguous containers using a predicate to compare pairs of projected elements. |
![]() |
bool | Algo::CompareBy
(
InAT&& InputA, |
Compares two contiguous containers using operator== to compare pairs of projected elements. |
![]() |
bool | Algo::CompareByPredicate
(
InAT&& InputA, |
|
![]() |
int | Algo::CompareMap
(
const MapType& A, |
|
![]() |
int | Algo::CompareMap
(
const MapType& A, |
|
![]() |
int | Algo::CompareMap
(
const MapType& A, |
Compares two unique-key maps (e.g. TMap) as if they were sorted arrays of key,value pairs sorted by Key and then by Value (almost, see note on sort order). |
![]() |
int | Algo::CompareSet
(
const SetType& A, |
Compares two sets (e.g. TSet) as if they were sorted arrays of keys (almost, see note on sort order). |
![]() |
int | Algo::CompareSet
(
const SetType& A, |
|
![]() |
void | Algo::Copy
(
const InT& Input, |
Copies a range into a container. |
![]() |
void | Algo::Copy
(
const InT& Input, |
Copies a range into a container |
![]() |
void | Algo::CopyIf
(
const InT& Input, |
Conditionally copies a range into a container |
![]() |
SIZE_T | Algo::Count
(
const InT& Input, |
Counts elements of a range that equal the supplied value |
![]() |
SIZE_T | Algo::CountBy
(
const InT& Input, |
Counts elements of a range whose projection equals the supplied value |
![]() |
SIZE_T | Algo::CountIf
(
const InT& Input, |
Counts elements of a range that match a given predicate |
![]() |
decltype(AlgoImpl::FindBy(Forward< RangeType >(Range), Value, FIdentityFunctor())) | Algo::Find
(
RangeType&& Range, |
Returns a pointer to the first element in the range which is equal to the given value. |
![]() |
decltype(AlgoImpl::FindBy(Forward< RangeType >(Range), Value, MoveTemp(Proj))) | Algo::FindBy
(
RangeType&& Range, |
Returns a pointer to the first element in the range whose projection is equal to the given value. |
![]() |
decltype(AlgoImpl::FindByPredicate(Forward< RangeType >(Range), MoveTemp(Pred))) | Algo::FindByPredicate
(
RangeType&& Range, |
Returns a pointer to the first element in the range which matches the predicate. |
![]() |
decltype(AlgoImpl::FindLastBy(GetData(Range), GetNum(Range), Value, FIdentityFunctor())) | Algo::FindLast
(
RangeType&& Range, |
Returns a pointer to the last element in the range which is equal to the given value. |
![]() |
decltype(AlgoImpl::FindLastBy(GetData(Range), GetNum(Range), Value, MoveTemp(Proj))) | Algo::FindLastBy
(
RangeType&& Range, |
Returns a pointer to the last element in the range whose projection is equal to the given value. |
![]() |
decltype(AlgoImpl::FindLastByPredicate(GetData(Range), GetNum(Range), MoveTemp(Pred))) | Algo::FindLastByPredicate
(
RangeType&& Range, |
Returns a pointer to the last element in the range which matches the predicate. |
![]() |
decltype(AlgoImpl::FindSequence(GetData(Where), GetData(Where)+GetNum(Where), GetData(What), GetData... | Algo::FindSequence
(
const RangeWhereType& Where, |
Searches for the first occurrence of a sequence of elements in another sequence. |
![]() |
int32 | Algo::FindSortedStringCaseInsensitive
(
const TCHAR* Str, |
Finds a string in an array of sorted strings, by case-insensitive search, by using binary subdivision of the array. |
![]() |
void | Algo::ForEach
(
InT& Input, |
Invokes a callable to each element in a range |
![]() |
void | Algo::ForEachIf
(
InT& Input, |
Conditionally invokes a callable to each element in a range |
![]() |
void | Algo::Heapify
(
RangeType& Range |
Builds an implicit min-heap from a range of elements. |
![]() |
void | Algo::Heapify
(
RangeType& Range, |
Builds an implicit min-heap from a range of elements. |
![]() |
void | Algo::HeapifyBy
(
RangeType& Range, |
Builds an implicit min-heap from a range of elements. |
![]() |
void | Algo::HeapifyBy
(
RangeType& Range, |
Builds an implicit min-heap from a range of elements. |
![]() |
void | Algo::HeapSort
(
RangeType&& Range |
Performs heap sort on the elements. Assumes < operator is defined for the element type. |
![]() |
void | Algo::HeapSort
(
RangeType&& Range, |
Performs heap sort on the elements. |
![]() |
void | Algo::HeapSortBy
(
RangeType&& Range, |
Performs heap sort on the elements. |
![]() |
void | Algo::HeapSortBy
(
RangeType&& Range, |
Performs heap sort on the elements. Assumes < operator is defined for the projected element type. |
![]() |
bool | Algo::Includes
(
RangeTypeA&& RangeA, |
Checks if one sorted contiguous container is a subsequence of another sorted contiguous container by comparing pairs of elements using a custom predicate. |
![]() |
bool | Algo::Includes
(
RangeTypeA&& RangeA, |
Checks if one sorted contiguous container is a subsequence of another sorted contiguous container by comparing pairs of elements. |
![]() |
bool | Algo::IncludesBy
(
RangeTypeA&& RangeA, |
Checks if one sorted contiguous container is a subsequence of another sorted contiguous container by comparing pairs of projected elements. |
![]() |
bool | Algo::IncludesBy
(
RangeTypeA&& RangeA, |
Checks if one sorted contiguous container is a subsequence of another sorted contiguous container by comparing pairs of projected elements using a custom predicate. |
![]() |
auto | Algo::IndexOf
(
RangeType&& Range, |
Returns the index of the first element in the range which is equal to the given value. |
![]() |
auto | Algo::IndexOfBy
(
RangeType&& Range, |
Returns the index of the first element in the range whose projection is equal to the given value. |
![]() |
auto | Algo::IndexOfByPredicate
(
RangeType&& Range, |
Returns the index of the first element in the range which matches the predicate. |
![]() |
void | Algo::IntroSort
(
RangeType&& Range |
Sort a range of elements using its operator<. The sort is unstable. |
![]() |
void | Algo::IntroSort
(
RangeType&& Range, |
Sort a range of elements using a user-defined predicate class. The sort is unstable. |
![]() |
void | Algo::IntroSortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using the projection's operator<. The sort is unstable. |
![]() |
void | Algo::IntroSortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using a user-defined predicate class. |
![]() |
bool | Algo::IsHeap
(
RangeType& Range |
Verifies that the range is a min-heap (parent <= child). |
![]() |
bool | Algo::IsHeap
(
RangeType& Range, |
Verifies that the range is a min-heap (parent <= child) |
![]() |
bool | Algo::IsHeapBy
(
RangeType& Range, |
Verifies that the range is a min-heap (parent <= child). |
![]() |
bool | Algo::IsHeapBy
(
RangeType& Range, |
Verifies that the range is a min-heap (parent <= child) |
![]() |
bool | Algo::IsSorted
(
const RangeType& Range |
Tests if a range is sorted by its element type's operator<. |
![]() |
bool | Algo::IsSorted
(
const RangeType& Range, |
Tests if a range is sorted by a user-defined predicate. |
![]() |
bool | Algo::IsSortedBy
(
const RangeType& Range, |
Tests if a range is sorted by a projection of the element type, using the projection's operator<. |
![]() |
bool | Algo::IsSortedBy
(
const RangeType& Range, |
Tests if a range is sorted by a projection of the element type, using a user-defined predicate on the projection. |
![]() |
bool | Algo::KahnTopologicalSort
(
RangeType& UniqueRange, |
Public entrypoint. |
![]() |
void | Algo::LegacySort
(
RangeType&& Range |
Sort a range of elements using its operator<. |
![]() |
void | Algo::LegacySort
(
RangeType&& Range, |
Sort a range of elements using a user-defined predicate class. |
![]() |
void | Algo::LegacySortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using the projection's operator<. |
![]() |
void | Algo::LegacySortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using a user-defined predicate class. |
![]() |
int32 | Algo::LevenshteinDistance
(
const RangeAType& RangeA, |
LevenshteinDistance return the number of edit operation we need to transform RangeA to RangeB. |
![]() |
decltype(GetNum(Range)) | Algo::LowerBound
(
RangeType& Range, |
|
![]() |
decltype(GetNum(Range)) | Algo::LowerBound
(
RangeType& Range, |
Performs binary search, resulting in position of the first element >= Value using predicate |
![]() |
decltype(GetNum(Range)) | Algo::LowerBoundBy
(
RangeType& Range, |
|
![]() |
decltype(GetNum(Range)) | Algo::LowerBoundBy
(
RangeType& Range, |
Performs binary search, resulting in position of the first element with projected value >= Value using predicate |
![]() |
decltype(AlgoImpl::MaxElementBy(Range, FIdentityFunctor(), MoveTemp(Comp))) | Algo::MaxElement
(
RangeType& Range, |
Returns a pointer to the maximum element in a range with a user-defined binary comparator. |
![]() |
decltype(AlgoImpl::MaxElementBy(Range, FIdentityFunctor(), TLess<>())) | Algo::MaxElement
(
RangeType& Range |
Returns a pointer to the maximum element in a range. |
![]() |
decltype(AlgoImpl::MaxElementBy(Range, MoveTemp(Proj), TLess<>())) | Algo::MaxElementBy
(
RangeType& Range, |
Returns a pointer to the maximum element in a range with a user-defined binary comparator. |
![]() |
decltype(AlgoImpl::MaxElementBy(Range, MoveTemp(Proj), MoveTemp(Comp))) | Algo::MaxElementBy
(
RangeType& Range, |
Returns a pointer to the maximum element in a range with a user-defined binary comparator. |
![]() |
decltype(AlgoImpl::MinElementBy(Range, FIdentityFunctor(), TLess<>())) | Algo::MinElement
(
RangeType& Range |
Returns a pointer to the minimum element in a range. |
![]() |
decltype(AlgoImpl::MinElementBy(Range, FIdentityFunctor(), MoveTemp(Comp))) | Algo::MinElement
(
RangeType& Range, |
Returns a pointer to the minimum element in a range with a user-defined binary comparator. |
![]() |
decltype(AlgoImpl::MinElementBy(Range, MoveTemp(Proj), TLess<>())) | Algo::MinElementBy
(
RangeType& Range, |
Returns a pointer to the minimum element in a range with a user-defined binary comparator. |
![]() |
decltype(AlgoImpl::MinElementBy(Range, MoveTemp(Proj), MoveTemp(Comp))) | Algo::MinElementBy
(
RangeType& Range, |
Returns a pointer to the minimum element in a range with a user-defined binary comparator. |
![]() |
std::common_type_t< decltype(GetNum(InputA)), decltype(GetNum(InputB))> | Algo::Mismatch
(
InputAType&& InputA, |
Returns the index at which two contiguous containers differ, using operator== to compare pairs of elements. |
![]() |
std::common_type_t< decltype(GetNum(InputA)), decltype(GetNum(InputB))> | Algo::Mismatch
(
InputAType&& InputA, |
Returns the index at which two contiguous containers differ, using operator== to compare pairs of elements. |
![]() |
std::common_type_t< decltype(GetNum(InputA)), decltype(GetNum(InputB))> | Algo::MismatchBy
(
InputAType&& InputA, |
Returns the index at which two contiguous containers differ, using a predicate to compare pairs of projected elements. |
![]() |
std::common_type_t< decltype(GetNum(InputA)), decltype(GetNum(InputB))> | Algo::MismatchBy
(
InputAType&& InputA, |
Returns the index at which two contiguous containers differ, using operator== to compare pairs of projected elements. |
![]() |
bool | Algo::NoneOf
(
const RangeType& Range, |
Checks if no projection of the elements in the range is truthy. |
![]() |
bool | Algo::NoneOf
(
const RangeType& Range, |
Checks if no projection of the elements in the range is truthy. |
![]() |
bool | Algo::NoneOf
(
const RangeType& Range |
Checks if no element in the range is truthy. |
![]() |
bool | ||
![]() |
ETopologicalSort | Algo::operator&
(
ETopologicalSort Lhs, |
|
![]() |
ETopologicalSort & | Algo::operator&=
(
ETopologicalSort& Lhs, |
|
![]() |
ETopologicalSort | Algo::operator^
(
ETopologicalSort Lhs, |
|
![]() |
ETopologicalSort & | Algo::operator^=
(
ETopologicalSort& Lhs, |
|
![]() |
ETopologicalSort | Algo::operator|
(
ETopologicalSort Lhs, |
|
![]() |
ETopologicalSort & | Algo::operator|=
(
ETopologicalSort& Lhs, |
|
![]() |
ETopologicalSort | ||
![]() |
IndexType | Algo::Partition
(
T* Elements, |
Rearranges the elements so that all the elements for which Predicate returns true precede all those for which it returns false. |
![]() |
decltype(GetNum(Range)) | Algo::Partition
(
RangeType&& Range, |
Rearranges the elements so that all the elements for which Predicate returns true precede all those for which it returns false. |
![]() |
bool | Algo::Private::Compare
(
InAT&& InputA, |
|
![]() |
bool | Algo::Private::Includes
(
const DataTypeA* DataA, |
|
![]() |
auto | Algo::Private::Mismatch
(
InputAType&& InputA, |
|
![]() |
void | Algo::RandomShuffle
(
RangeType& Range |
Randomly shuffle a range of elements. |
![]() |
int32 | Algo::RemoveIf
(
RangeType& Range, |
Moves all elements which do not match the predicate to the front of the range, while leaving all other elements is a constructed but unspecified state. |
![]() |
void | Algo::Replace
(
RangeType&& Range, |
Replaces all elements that compare equal to one value with a new value. |
![]() |
void | Algo::ReplaceIf
(
RangeType&& Range, |
Replaces all elements that satisfy the predicate with the given value. |
![]() |
void | Algo::Reverse
(
T(&) Array |
Reverses a range |
![]() |
void | Algo::Reverse
(
ContainerType& Container |
Reverses a range |
![]() |
void | Algo::Reverse
(
T* Array, |
Reverses a range |
![]() |
int32 | Algo::Rotate
(
RangeType& Range, |
Rotates a given amount of elements from the front of the range to the end of the range. |
![]() |
decltype(AlgoImpl::SelectRandomWeightedBy(Forward< RangeType >(Range), MoveTemp(Proj))) | Algo::SelectRandomWeightedBy
(
RangeType&& Range, |
Randomly select an element from a range of elements, weighted by a projection. |
![]() |
void | Algo::Sort
(
RangeType&& Range, |
Sort a range of elements using a user-defined predicate class. The sort is unstable. |
![]() |
void | Algo::Sort
(
RangeType&& Range |
Sort a range of elements using its operator<. The sort is unstable. |
![]() |
void | Algo::SortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using a user-defined predicate class. |
![]() |
void | Algo::SortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using the projection's operator<. The sort is unstable. |
![]() |
int32 | Algo::StableRemoveIf
(
RangeType& Range, |
Moves all elements which do not match the predicate to the front of the range, while leaving all other elements is a constructed but unspecified state. |
![]() |
void | Algo::StableSort
(
RangeType&& Range |
Sort a range of elements using its operator<. The sort is stable. |
![]() |
void | Algo::StableSort
(
RangeType&& Range, |
Sort a range of elements using a user-defined predicate class. The sort is stable. |
![]() |
void | Algo::StableSortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using the projection's operator<. The sort is stable. |
![]() |
void | Algo::StableSortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using a user-defined predicate class. The sort is stable. |
![]() |
Private::TTiedTupleAdder< OutputTypes... > | Algo::TieTupleAdd
(
OutputTypes&... Outputs |
Ties n objects with an Add function, usually containers, into one object with an Add function accepting an n-tuple that forwards the Add calls. |
![]() |
bool | Algo::TopologicalSort
(
RangeType& UniqueRange, |
Sorts the given range in leaf to root order: For every pair of elements (A,B) where SortedIndex(A) < SortedIndex(B), either B is not reachable from A, or A and B are mutually reachable. |
![]() |
void | Algo::Transform
(
const InT& Input, |
Applies a transform to a range and stores the results into a container |
![]() |
T | Algo::TransformAccumulate
(
const A& Input, |
Sums a range by applying MapOp to each element, and then summing the results. |
![]() |
T | Algo::TransformAccumulate
(
const A& Input, |
Sums a range by applying MapOp to each element, and then summing the results. |
![]() |
void | Algo::TransformIf
(
const InT& Input, |
Conditionally applies a transform to a range and stores the results into a container |
![]() |
decltype(GetNum(Range)) | Algo::UpperBound
(
RangeType& Range, |
|
![]() |
decltype(GetNum(Range)) | Algo::UpperBound
(
RangeType& Range, |
Performs binary search, resulting in position of the first element > Value using predicate |
![]() |
decltype(GetNum(Range)) | Algo::UpperBoundBy
(
RangeType& Range, |
Performs binary search, resulting in position of the first element with projected value > Value using predicate |
![]() |
decltype(GetNum(Range)) | Algo::UpperBoundBy
(
RangeType& Range, |
|
![]() |
TRangePointerType< typenameTRemoveReference< RangeType >::Type >::Type | AlgoImpl::FindBy
(
RangeType&& Range, |
|
![]() |
TRangePointerType< typenameTRemoveReference< RangeType >::Type >::Type | AlgoImpl::FindByPredicate
(
RangeType&& Range, |
|
![]() |
T * | AlgoImpl::FindLastBy
(
T* First, |
|
![]() |
T * | AlgoImpl::FindLastByPredicate
(
T* First, |
|
![]() |
const TSet< FKahnHandle > & | Called when there is a MutuallyReachableVertexSet (aka no vertices are independent). | |
![]() |
WhereType * | AlgoImpl::FindSequence
(
WhereType* First, |
|
![]() |
auto | AlgoImpl::IndexOfBy
(
RangeType&& Range, |
|
![]() |
auto | AlgoImpl::IndexOfByPredicate
(
RangeType&& Range, |
|
![]() |
void | AlgoImpl::IntroSortInternal
(
T* First, |
Implementation of an introspective sort. |
![]() |
bool | AlgoImpl::IsHeapInternal
(
RangeValueType* Heap, |
Verifies that the range is a min-heap (parent <= child) This is the internal function used by IsHeap overrides. |
![]() |
bool | AlgoImpl::IsSortedBy
(
const T* Range, |
|
![]() |
void | AlgoImpl::KahnTopologicalSort_CreateWorkingGraph
(
FKahnContext& Context, |
Helper functions. |
![]() |
void | AlgoImpl::LegacySortInternal
(
T* First, |
Sort elements using user defined predicate class. |
![]() |
SizeType | AlgoImpl::LowerBoundInternal
(
RangeValueType* First, |
Performs binary search, resulting in position of the first element >= Value |
![]() |
TRangePointerType< RangeType >::Type | AlgoImpl::MaxElementBy
(
RangeType& Range, |
|
![]() |
void | AlgoImpl::Merge
(
T* First, |
|
![]() |
TRangePointerType< RangeType >::Type | AlgoImpl::MinElementBy
(
RangeType& Range, |
|
![]() |
void | AlgoImpl::Reverse
(
T* Array, |
|
![]() |
int32 | AlgoImpl::RotateInternal
(
T* First, |
|
![]() |
TRangePointerType< typenameTRemoveReference< RangeType >::Type >::Type | AlgoImpl::SelectRandomWeightedBy
(
RangeType&& Range, |
|
![]() |
void | AlgoImpl::StableSortInternal
(
T* First, |
Sort elements using user defined projection and predicate classes. |
![]() |
SizeType | AlgoImpl::Unique
(
T* Array, |
|
![]() |
SizeType | AlgoImpl::UpperBoundInternal
(
RangeValueType* First, |
Performs binary search, resulting in position of the first element that is larger than the given value |
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
int32 | MinMergeSubgroupSize |