Navigation
API > API/Runtime > API/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. | |
| auto | Algo::BinarySearch
(
RangeType& Range, |
||
| auto | 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::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, |
||
| constexpr bool | Algo::Compare
(
InAT&& InputA, |
Compares two contiguous containers using a predicate to compare pairs of elements. | |
| constexpr bool | Algo::Compare
(
InAT&& InputA, |
Compares two contiguous containers using operator== to compare pairs of elements. | |
| constexpr bool | Algo::CompareBy
(
InAT&& InputA, |
Compares two contiguous containers using a predicate to compare pairs of projected elements. | |
| constexpr bool | Algo::CompareBy
(
InAT&& InputA, |
Compares two contiguous containers using operator== to compare pairs of projected elements. | |
| constexpr bool | Algo::CompareByPredicate
(
InAT&& InputA, |
CompareByPredicate has been renamed to Compare. | |
| 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 | |
| auto | Algo::Find
(
RangeType&& Range, |
Returns a pointer to the first element in the range which is equal to the given value. | |
| auto | Algo::FindBy
(
RangeType&& Range, |
Returns a pointer to the first element in the range whose projection is equal to the given value. | |
| auto | Algo::FindByPredicate
(
RangeType&& Range, |
Returns a pointer to the first element in the range which matches the predicate. | |
| auto | Algo::FindLast
(
RangeType&& Range, |
Returns a pointer to the last element in the range which is equal to the given value. | |
| auto | Algo::FindLastBy
(
RangeType&& Range, |
Returns a pointer to the last element in the range whose projection is equal to the given value. | |
| auto | Algo::FindLastByPredicate
(
RangeType&& Range, |
Returns a pointer to the last element in the range which matches the predicate. | |
| auto | 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 | |
| *const RangeType< T > & | Algo::GetElementDependencies
(
const T& Element |
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::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. Assumes < operator is defined for the projected element type. | |
| void | Algo::HeapSortBy
(
RangeType&& Range, |
Performs heap sort on the elements. | |
| constexpr bool | Algo::Includes
(
RangeTypeA&& RangeA, |
Checks if one sorted contiguous container is a subsequence of another sorted contiguous container by comparing pairs of elements. | |
| constexpr 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. | |
| constexpr 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. | |
| constexpr 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 a user-defined predicate class. The sort is unstable. | |
| void | Algo::IntroSort
(
RangeType&& Range |
Sort a range of elements using its operator<. 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 a user-defined predicate on the projection. | |
| 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::KahnTopologicalSort
(
RangeType& UniqueRange, |
Public entrypoint. Implements Algo::TopologicalSort using the Kahn Topological Sort algorithm. | |
| void | Algo::LegacySort
(
RangeType&& Range, |
Sort a range of elements using a user-defined predicate class. | |
| void | Algo::LegacySort
(
RangeType&& Range |
Sort a range of elements using its operator<. | |
| 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. | |
| auto | Algo::LowerBound
(
RangeType& Range, |
||
| auto | Algo::LowerBound
(
RangeType& Range, |
Performs binary search, resulting in position of the first element >= Value using predicate | |
| auto | Algo::LowerBoundBy
(
RangeType& Range, |
||
| auto | Algo::LowerBoundBy
(
RangeType& Range, |
Performs binary search, resulting in position of the first element with projected value >= Value using predicate | |
| auto | Algo::MaxElement
(
RangeType& Range |
Returns a pointer to the maximum element in a range. | |
| auto | Algo::MaxElement
(
RangeType& Range, |
Returns a pointer to the maximum element in a range with a user-defined binary comparator. | |
| auto | Algo::MaxElementBy
(
RangeType& Range, |
Returns a pointer to the maximum element in a range with a user-defined binary comparator. | |
| auto | Algo::MaxElementBy
(
RangeType& Range, |
Returns a pointer to the maximum element in a range with a user-defined binary comparator. | |
| auto | Algo::MinElement
(
RangeType& Range, |
Returns a pointer to the minimum element in a range with a user-defined binary comparator. | |
| auto | Algo::MinElement
(
RangeType& Range |
Returns a pointer to the minimum element in a range. | |
| auto | Algo::MinElementBy
(
RangeType& Range, |
Returns a pointer to the minimum element in a range with a user-defined binary comparator. | |
| auto | Algo::MinElementBy
(
RangeType& Range, |
Returns a pointer to the minimum element in a range with a user-defined binary comparator. | |
| bool | Algo::NoneOf
(
const RangeType& Range |
Checks if no element 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 projection of the elements in the range is truthy. | |
| constexpr bool | |||
| constexpr ETopologicalSort | Algo::operator&
(
ETopologicalSort Lhs, |
||
| ETopologicalSort & | Algo::operator&=
(
ETopologicalSort& Lhs, |
||
| constexpr ETopologicalSort | Algo::operator^
(
ETopologicalSort Lhs, |
||
| ETopologicalSort & | Algo::operator^=
(
ETopologicalSort& Lhs, |
||
| constexpr ETopologicalSort | Algo::operator|
(
ETopologicalSort Lhs, |
||
| ETopologicalSort & | Algo::operator|=
(
ETopologicalSort& Lhs, |
||
| constexpr 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. | |
| auto | 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. | |
| constexpr bool | Algo::Private::Compare
(
InAT&& InputA, |
||
| constexpr bool | Algo::Private::Includes
(
const DataTypeA* DataA, |
||
| 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
(
ContainerType& Container |
Reverses a range | |
| void | Algo::Reverse
(
T(&) Array |
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. | |
| auto | 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 its operator<. The sort is unstable. | |
| void | Algo::Sort
(
RangeType&& Range, |
Sort a range of elements using a user-defined predicate class. The sort is unstable. | |
| void | Algo::SortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using the projection's operator<. The sort is unstable. | |
| void | Algo::SortBy
(
RangeType&& Range, |
Sort a range of elements by a projection using a user-defined predicate class. | |
| 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 a user-defined predicate class. The sort is stable. | |
| void | Algo::StableSort
(
RangeType&& Range |
Sort a range of elements using its operator<. 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. | |
| 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 | |
| auto | Algo::UpperBound
(
RangeType& Range, |
||
| auto | Algo::UpperBound
(
RangeType& Range, |
Performs binary search, resulting in position of the first element > Value using predicate | |
| auto | Algo::UpperBoundBy
(
RangeType& Range, |
Performs binary search, resulting in position of the first element with projected value > Value using predicate | |
| auto | Algo::UpperBoundBy
(
RangeType& Range, |
||
| TRangePointerType< typename TRemoveReference< RangeType >::Type >::Type | AlgoImpl::FindBy
(
RangeType&& Range, |
||
| TRangePointerType< typename TRemoveReference< 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). | ||
| constexpr 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< typename TRemoveReference< 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 | |
|---|---|---|---|
| constexpr int32 | MinMergeSubgroupSize |