|
| ULANG_FORCEINLINE | TArrayG (RawAllocatorArgsType &&... RawAllocatorArgs) |
| |
| ULANG_FORCEINLINE | TArrayG (const typename ElementAllocatorType::RawAllocatorType &RawAllocator) |
| |
| ULANG_FORCEINLINE | TArrayG (const ElementType *Ptr, int32_t Count, RawAllocatorArgsType &&... RawAllocatorArgs) |
| |
| ULANG_FORCEINLINE | TArrayG (int32_t Count, const ElementType &Value=ElementType(), RawAllocatorArgsType &&... RawAllocatorArgs) |
| |
| | TArrayG (std::initializer_list< InElementType > InitList, RawAllocatorArgsType &&... RawAllocatorArgs) |
| |
| template<typename OtherElementType > |
| | TArrayG (std::initializer_list< OtherElementType > InitList, RawAllocatorArgsType &&... RawAllocatorArgs) |
| |
| template<typename OtherElementType , typename OtherElementAllocatorType , typename... OtherRawAllocatorArgsType> |
| ULANG_FORCEINLINE | TArrayG (const TArrayG< OtherElementType, OtherElementAllocatorType, OtherRawAllocatorArgsType... > &Other, RawAllocatorArgsType &&... RawAllocatorArgs) |
| |
| ULANG_FORCEINLINE | TArrayG (const TArrayG &Other) |
| |
| ULANG_FORCEINLINE | TArrayG (const TArrayG &Other, int32_t ExtraSlack) |
| |
| TArrayG & | operator= (const TArrayG &Other) |
| |
| ULANG_FORCEINLINE | TArrayG (TArrayG &&Other) |
| |
| | TArrayG (TArrayG &&Other, int32_t ExtraSlack) |
| |
| template<typename OtherElementAllocatorType , typename... OtherRawAllocatorArgsType> |
| ULANG_FORCEINLINE | TArrayG (TArrayG< ElementType, OtherElementAllocatorType, OtherRawAllocatorArgsType... > &&Other) |
| |
| TArrayG & | operator= (TArrayG &&Other) |
| |
| | ~TArrayG () |
| |
| ULANG_FORCEINLINE ElementType * | GetData () |
| |
| ULANG_FORCEINLINE const ElementType * | GetData () const |
| |
| ULANG_FORCEINLINE uint32_t | GetTypeSize () const |
| |
| ULANG_FORCEINLINE uint32_t | GetAllocatedSize (void) const |
| |
| ULANG_FORCEINLINE int32_t | GetSlack () const |
| |
| ULANG_FORCEINLINE void | CheckInvariants () const |
| |
| ULANG_FORCEINLINE void | RangeCheck (int32_t Index) const |
| |
| ULANG_FORCEINLINE bool | IsValidIndex (int32_t Index) const |
| |
| ULANG_FORCEINLINE int32_t | Num () const |
| |
| ULANG_FORCEINLINE int32_t | Max () const |
| |
| ULANG_FORCEINLINE const ElementAllocatorType::RawAllocatorType & | GetRawAllocator () const |
| |
| ULANG_FORCEINLINE bool | IsEmpty () const |
| |
| ULANG_FORCEINLINE bool | IsFilled () const |
| |
| ULANG_FORCEINLINE ElementType & | operator[] (int32_t Index) |
| |
| ULANG_FORCEINLINE const ElementType & | operator[] (int32_t Index) const |
| |
| ULANG_FORCEINLINE ElementType | Pop (bool bAllowShrinking=true) |
| |
| ULANG_FORCEINLINE void | Push (ElementType &&Item) |
| |
| ULANG_FORCEINLINE void | Push (const ElementType &Item) |
| |
| ULANG_FORCEINLINE ElementType & | Top () |
| |
| ULANG_FORCEINLINE const ElementType & | Top () const |
| |
| ULANG_FORCEINLINE ElementType & | Last (int32_t IndexFromTheEnd=0) |
| |
| ULANG_FORCEINLINE const ElementType & | Last (int32_t IndexFromTheEnd=0) const |
| |
| ULANG_FORCEINLINE void | Shrink () |
| |
| ULANG_FORCEINLINE bool | Find (const ElementType &Item, int32_t &Index) const |
| |
| int32_t | Find (const ElementType &Item) const |
| |
| ULANG_FORCEINLINE bool | FindLast (const ElementType &Item, int32_t &Index) const |
| |
| int32_t | FindLast (const ElementType &Item) const |
| |
| template<typename Predicate > |
| int32_t | FindLastByPredicate (Predicate Pred, int32_t Count) const |
| |
| template<typename Predicate > |
| ULANG_FORCEINLINE int32_t | FindLastByPredicate (Predicate Pred) const |
| |
| template<typename KeyType > |
| int32_t | IndexOfByKey (const KeyType &Key) const |
| |
| template<typename Predicate > |
| int32_t | IndexOfByPredicate (Predicate Pred) const |
| |
| template<typename KeyType > |
| ULANG_FORCEINLINE const ElementType * | FindByKey (const KeyType &Key) const |
| |
| template<typename KeyType > |
| ElementType * | FindByKey (const KeyType &Key) |
| |
| template<typename Predicate > |
| ULANG_FORCEINLINE const ElementType * | FindByPredicate (Predicate Pred) const |
| |
| template<typename Predicate > |
| ElementType * | FindByPredicate (Predicate Pred) |
| |
| template<typename Predicate > |
| TArrayG | FilterByPredicate (Predicate Pred) const |
| |
| template<typename ComparisonType > |
| bool | Contains (const ComparisonType &Item) const |
| |
| template<typename Predicate > |
| ULANG_FORCEINLINE bool | ContainsByPredicate (Predicate Pred) const |
| |
| bool | operator== (const TArrayG &OtherArray) const |
| |
| ULANG_FORCEINLINE bool | operator!= (const TArrayG &OtherArray) const |
| |
| ULANG_FORCEINLINE int32_t | AddUninitialized (int32_t Count=1) |
| |
| void | InsertUninitialized (int32_t Index, int32_t Count=1) |
| |
| void | InsertZeroed (int32_t Index, int32_t Count=1) |
| |
| ElementType & | InsertZeroed_GetRef (int32_t Index) |
| |
| void | InsertDefaulted (int32_t Index, int32_t Count=1) |
| |
| ElementType & | InsertDefaulted_GetRef (int32_t Index) |
| |
| int32_t | Insert (std::initializer_list< ElementType > InitList, const int32_t InIndex) |
| |
| template<typename OtherElementAllocatorType , typename... OtherRawAllocatorArgsType> |
| int32_t | Insert (const TArrayG< ElementType, OtherElementAllocatorType, OtherRawAllocatorArgsType... > &Items, const int32_t InIndex) |
| |
| template<typename OtherElementAllocatorType , typename... OtherRawAllocatorArgsType> |
| int32_t | Insert (TArrayG< ElementType, OtherElementAllocatorType, OtherRawAllocatorArgsType... > &&Items, const int32_t InIndex) |
| |
| int32_t | Insert (const ElementType *Ptr, int32_t Count, int32_t Index) |
| |
| ULANG_FORCEINLINE void | CheckAddress (void const *Addr) const |
| |
| int32_t | Insert (ElementType &&Item, int32_t Index) |
| |
| int32_t | Insert (const ElementType &Item, int32_t Index) |
| |
| ElementType & | Insert_GetRef (ElementType &&Item, int32_t Index) |
| |
| ElementType & | Insert_GetRef (const ElementType &Item, int32_t Index) |
| |
| ULANG_FORCEINLINE void | RemoveAt (int32_t Index) |
| |
| template<typename CountType > |
| ULANG_FORCEINLINE void | RemoveAt (int32_t Index, CountType Count, bool bAllowShrinking=true) |
| |
| ULANG_FORCEINLINE void | RemoveAtSwap (int32_t Index) |
| |
| template<typename CountType > |
| ULANG_FORCEINLINE void | RemoveAtSwap (int32_t Index, CountType Count, bool bAllowShrinking=true) |
| |
| int32_t | Replace (const ElementType &OldItem, const ElementType &NewItem) |
| |
| void | Reset (int32_t NewSize=0) |
| |
| void | Empty (int32_t Slack=0) |
| |
| void | SetNum (int32_t NewNum, bool bAllowShrinking=true) |
| |
| void | SetNumZeroed (int32_t NewNum, bool bAllowShrinking=true) |
| |
| void | SetNumUninitialized (int32_t NewNum, bool bAllowShrinking=true) |
| |
| void | SetNumUnsafeInternal (int32_t NewNum) |
| |
| template<typename OtherElementAllocatorType , typename... OtherRawAllocatorArgsType> |
| void | Append (const TArrayG< ElementType, OtherElementAllocatorType, OtherRawAllocatorArgsType... > &Source) |
| |
| template<typename OtherElementAllocatorType , typename... OtherRawAllocatorArgsType> |
| void | Append (TArrayG< ElementType, OtherElementAllocatorType, OtherRawAllocatorArgsType... > &&Source) |
| |
| void | Append (const ElementType *Ptr, int32_t Count) |
| |
| ULANG_FORCEINLINE void | Append (std::initializer_list< ElementType > InitList) |
| |
| TArrayG & | operator+= (TArrayG &&Other) |
| |
| TArrayG & | operator+= (const TArrayG &Other) |
| |
| TArrayG & | operator+= (std::initializer_list< ElementType > InitList) |
| |
| template<typename... ArgsType> |
| ULANG_FORCEINLINE int32_t | Emplace (ArgsType &&... Args) |
| |
| template<typename... ArgsType> |
| ULANG_FORCEINLINE ElementType & | Emplace_GetRef (ArgsType &&... Args) |
| |
| template<typename... ArgsType> |
| ULANG_FORCEINLINE void | EmplaceAt (int32_t Index, ArgsType &&... Args) |
| |
| template<typename... ArgsType> |
| ULANG_FORCEINLINE ElementType & | EmplaceAt_GetRef (int32_t Index, ArgsType &&... Args) |
| |
| ULANG_FORCEINLINE int32_t | Add (ElementType &&Item) |
| |
| ULANG_FORCEINLINE int32_t | Add (const ElementType &Item) |
| |
| ULANG_FORCEINLINE ElementType & | Add_GetRef (ElementType &&Item) |
| |
| ULANG_FORCEINLINE ElementType & | Add_GetRef (const ElementType &Item) |
| |
| int32_t | AddZeroed (int32_t Count=1) |
| |
| ElementType & | AddZeroed_GetRef () |
| |
| int32_t | AddDefaulted (int32_t Count=1) |
| |
| ElementType & | AddDefaulted_GetRef () |
| |
| ULANG_FORCEINLINE int32_t | AddUnique (ElementType &&Item) |
| |
| ULANG_FORCEINLINE int32_t | AddUnique (const ElementType &Item) |
| |
| ULANG_FORCEINLINE void | Reserve (int32_t Number) |
| |
| void | Init (const ElementType &Element, int32_t Number) |
| |
| int32_t | RemoveSingle (const ElementType &Item) |
| |
| template<typename OtherElementType > |
| int32_t | Remove (const OtherElementType &Item) |
| |
| template<class PREDICATE_CLASS > |
| int32_t | RemoveAll (const PREDICATE_CLASS &Predicate) |
| |
| template<class PREDICATE_CLASS > |
| void | RemoveAllSwap (const PREDICATE_CLASS &Predicate, bool bAllowShrinking=true) |
| |
| int32_t | RemoveSingleSwap (const ElementType &Item, bool bAllowShrinking=true) |
| |
| int32_t | RemoveSwap (const ElementType &Item) |
| |
| ULANG_FORCEINLINE ElementType * | begin () |
| |
| ULANG_FORCEINLINE const ElementType * | begin () const |
| |
| ULANG_FORCEINLINE ElementType * | end () |
| |
| ULANG_FORCEINLINE const ElementType * | end () const |
| |
| void | Sort () |
| |
| template<class PredicateType > |
| void | Sort (const PredicateType &Predicate) |
| |
| template<class PredicateType > |
| void | StableSort (const PredicateType &Predicate) |
| |
| void | RemoveSuccessiveDuplicates () |
| |
Templated dynamic array
A dynamically sized array of typed elements. Makes the assumption that your elements are relocate-able; i.e. that they can be transparently moved to new memory without a copy constructor. The main implication is that pointers to elements in the TArrayG may be invalidated by adding or removing other elements to the array. Removal of elements is O(N) and invalidates the indices of subsequent elements.
Caution: as noted below some methods are not safe for element types that require constructors.