MCRO
C++23 utilities for Unreal Engine.
Loading...
Searching...
No Matches
Range.h File Reference

Bring modern declarative range operations like views and actions to the Unreal C++ arsenal. This header is responsible for bridging compatibility between Unreal containers and range-v3/std::ranges. More...

#include "CoreMinimal.h"
#include "Containers/BasicArray.h"
#include "Containers/StaticArray.h"
#include "Containers/Deque.h"
#include "Containers/LruCache.h"
#include "Containers/MRUArray.h"
#include "Containers/PagedArray.h"
#include "Containers/RingBuffer.h"
#include "Containers/DynamicRHIResourceArray.h"
#include "Misc/EngineVersionComparison.h"
#include "Mcro/Range/Iterators.h"

Go to the source code of this file.

Data Structures

struct  FMapPairsAccessTag
 
class  TMapBase< FMapPairsAccessTag, FMapPairsAccessTag, FMapPairsAccessTag, FMapPairsAccessTag >
 

Typedefs

template<Mcro::Concepts::CRangeMember Container, Mcro::Range::FExtendedIteratorPolicy Policy = {}>
using TIteratorExtension = Mcro::Range::TExtendedIterator<decltype(DeclVal<Container>().begin()), Policy>
 Bring modern declarative range operations like views and actions to the Unreal C++ arsenal.
 
template<typename T >
using TExtendedIndirectArrayIterator = Mcro::Range::TExtendedIterator<T, Mcro::Range::FExtendedIteratorPolicy{.DereferencePointerToPointer = true}>
 
using FMapPairsAccess = TMapBase<FMapPairsAccessTag, FMapPairsAccessTag, FMapPairsAccessTag, FMapPairsAccessTag>
 

Functions

template<typename T , typename A >
auto begin (TArray< T, A > &r) -> T *
 
template<typename T , typename A >
auto begin (TArray< T, A > const &r) -> const T *
 
template<typename T , typename A >
auto end (TArray< T, A > &r) -> T *
 
template<typename T , typename A >
auto end (TArray< T, A > const &r) -> const T *
 
template<typename T , typename A >
size_t size (TArray< T, A > const &r)
 
template<typename T , typename A >
auto begin (TArrayView< T, A > &r) -> T *
 
template<typename T , typename A >
auto begin (TArrayView< T, A > const &r) -> const T *
 
template<typename T , typename A >
auto end (TArrayView< T, A > &r) -> T *
 
template<typename T , typename A >
auto end (TArrayView< T, A > const &r) -> const T *
 
template<typename T , typename A >
size_t size (TArrayView< T, A > const &r)
 
template<typename T , uint32 N, uint32 A>
auto begin (TStaticArray< T, N, A > &r) -> T *
 
template<typename T , uint32 N, uint32 A>
auto begin (TStaticArray< T, N, A > const &r) -> const T *
 
template<typename T , uint32 N, uint32 A>
auto end (TStaticArray< T, N, A > &r) -> T *
 
template<typename T , uint32 N, uint32 A>
auto end (TStaticArray< T, N, A > const &r) -> const T *
 
template<typename T , uint32 N, uint32 A>
size_t size (TStaticArray< T, N, A > const &r)
 
template<typename T , typename A >
auto begin (TIndirectArray< T, A > &r) -> TExtendedIndirectArrayIterator< T ** >
 
template<typename T , typename A >
auto begin (TIndirectArray< T, A > const &r) -> TExtendedIndirectArrayIterator< const T ** >
 
template<typename T , typename A >
auto end (TIndirectArray< T, A > &r) -> TExtendedIndirectArrayIterator< T ** >
 
template<typename T , typename A >
auto end (TIndirectArray< T, A > const &r) -> TExtendedIndirectArrayIterator< const T ** >
 
template<typename T , typename A >
size_t size (TIndirectArray< T, A > const &r)
 
template<typename T , typename K , typename A >
auto begin (TSet< T, K, A > &r) -> TIteratorExtension< TSet< T, K, A > >
 
template<typename T , typename K , typename A >
auto begin (TSet< T, K, A > const &r) -> TIteratorExtension< TSet< T, K, A > >
 
template<typename T , typename K , typename A >
auto end (TSet< T, K, A > &r) -> TIteratorExtension< TSet< T, K, A > >
 
template<typename T , typename K , typename A >
auto end (TSet< T, K, A > const &r) -> TIteratorExtension< TSet< T, K, A > >
 
template<typename T , typename K , typename A >
size_t size (TSet< T, K, A > const &r)
 
template<typename K , typename V , typename A , typename F >
auto begin (TMap< K, V, A, F > &map)
 
template<typename K , typename V , typename A , typename F >
auto begin (TMap< K, V, A, F > const &map)
 
template<typename K , typename V , typename A , typename F >
auto end (TMap< K, V, A, F > &map)
 
template<typename K , typename V , typename A , typename F >
auto end (TMap< K, V, A, F > const &map)
 
template<typename K , typename V , typename A , typename F >
size_t size (TMap< K, V, A, F > const &map)
 
template<typename K , typename V , typename A , typename F >
auto begin (TMultiMap< K, V, A, F > &map)
 
template<typename K , typename V , typename A , typename F >
auto begin (TMultiMap< K, V, A, F > const &map)
 
template<typename K , typename V , typename A , typename F >
auto end (TMultiMap< K, V, A, F > &map)
 
template<typename K , typename V , typename A , typename F >
auto end (TMultiMap< K, V, A, F > const &map)
 
template<typename K , typename V , typename A , typename F >
size_t size (TMultiMap< K, V, A, F > const &map)
 
template<typename CharType >
auto begin (TStringView< CharType > const &string) -> const CharType *
 
template<typename CharType >
auto end (TStringView< CharType > const &string) -> const CharType *
 
template<typename CharType >
size_t size (TStringView< CharType > const &string)
 
FORCEINLINE auto begin (FString &string) -> const TCHAR *
 
FORCEINLINE auto begin (FString const &string) -> const TCHAR *
 
FORCEINLINE auto end (FString &string) -> const TCHAR *
 
FORCEINLINE auto end (FString const &string) -> const TCHAR *
 
FORCEINLINE auto begin (FString &&string) -> Mcro::Range::FTempStringIterator
 
FORCEINLINE auto end (FString &&string) -> Mcro::Range::FTempStringIterator
 
FORCEINLINE size_t size (FString const &string)
 
template<typename T >
auto begin (TBasicArray< T > &r) -> T *
 
template<typename T >
auto begin (TBasicArray< T > const &r) -> const T *
 
template<typename T >
auto end (TBasicArray< T > &r) -> T *
 
template<typename T >
auto end (TBasicArray< T > const &r) -> const T *
 
template<typename T >
size_t size (TBasicArray< T > const &r)
 
template<typename T , uint32 C, typename A >
auto begin (TChunkedArray< T, C, A > &r) -> TIteratorExtension< TChunkedArray< T, C, A > >
 
template<typename T , uint32 C, typename A >
auto begin (TChunkedArray< T, C, A > const &r) -> TIteratorExtension< TChunkedArray< T, C, A > >
 
template<typename T , uint32 C, typename A >
auto end (TChunkedArray< T, C, A > &r) -> TIteratorExtension< TChunkedArray< T, C, A > >
 
template<typename T , uint32 C, typename A >
auto end (TChunkedArray< T, C, A > const &r) -> TIteratorExtension< TChunkedArray< T, C, A > >
 
template<typename T , uint32 C, typename A >
size_t size (TChunkedArray< T, C, A > const &r)
 
template<typename T , typename A >
auto begin (TDeque< T, A > &r) -> TIteratorExtension< TDeque< T, A > >
 
template<typename T , typename A >
auto begin (TDeque< T, A > const &r) -> TIteratorExtension< TDeque< T, A > >
 
template<typename T , typename A >
auto end (TDeque< T, A > &r) -> TIteratorExtension< TDeque< T, A > >
 
template<typename T , typename A >
auto end (TDeque< T, A > const &r) -> TIteratorExtension< TDeque< T, A > >
 
template<typename T , typename A >
size_t size (TDeque< T, A > const &r)
 
template<typename T , uint32 A>
auto begin (TResourceArray< T, A > &r) -> T *
 
template<typename T , uint32 A>
auto begin (TResourceArray< T, A > const &r) -> const T *
 
template<typename T , uint32 A>
auto end (TResourceArray< T, A > &r) -> T *
 
template<typename T , uint32 A>
auto end (TResourceArray< T, A > const &r) -> const T *
 
template<typename T , uint32 A>
size_t size (TResourceArray< T, A > const &r)
 
template<typename K , typename V , typename C >
auto begin (TLruCache< K, V, C > &r) -> TIteratorExtension< TLruCache< K, V, C > >
 
template<typename K , typename V , typename C >
auto begin (TLruCache< K, V, C > const &r) -> TIteratorExtension< TLruCache< K, V, C > >
 
template<typename K , typename V , typename C >
auto end (TLruCache< K, V, C > &r) -> TIteratorExtension< TLruCache< K, V, C > >
 
template<typename K , typename V , typename C >
auto end (TLruCache< K, V, C > const &r) -> TIteratorExtension< TLruCache< K, V, C > >
 
template<typename K , typename V , typename C >
size_t size (TLruCache< K, V, C > const &r)
 
template<typename T , typename A >
auto begin (TMRUArray< T, A > &r) -> T *
 
template<typename T , typename A >
auto begin (TMRUArray< T, A > const &r) -> const T *
 
template<typename T , typename A >
auto end (TMRUArray< T, A > &r) -> T *
 
template<typename T , typename A >
auto end (TMRUArray< T, A > const &r) -> const T *
 
template<typename T , typename A >
size_t size (TMRUArray< T, A > const &r)
 
template<typename T , int32 P, typename A >
auto begin (TPagedArray< T, P, A > &r) -> TIteratorExtension< TPagedArray< T, P, A > >
 
template<typename T , int32 P, typename A >
auto begin (TPagedArray< T, P, A > const &r) -> TIteratorExtension< TPagedArray< T, P, A > >
 
template<typename T , int32 P, typename A >
auto end (TPagedArray< T, P, A > &r) -> TIteratorExtension< TPagedArray< T, P, A > >
 
template<typename T , int32 P, typename A >
auto end (TPagedArray< T, P, A > const &r) -> TIteratorExtension< TPagedArray< T, P, A > >
 
template<typename T , int32 P, typename A >
size_t size (TPagedArray< T, P, A > const &r)
 
template<typename T , typename A >
auto begin (TRingBuffer< T, A > &r) -> TIteratorExtension< TRingBuffer< T, A > >
 
template<typename T , typename A >
auto begin (TRingBuffer< T, A > const &r) -> TIteratorExtension< TRingBuffer< T, A > >
 
template<typename T , typename A >
auto end (TRingBuffer< T, A > &r) -> TIteratorExtension< TRingBuffer< T, A > >
 
template<typename T , typename A >
auto end (TRingBuffer< T, A > const &r) -> TIteratorExtension< TRingBuffer< T, A > >
 
template<typename T , typename A >
size_t size (TRingBuffer< T, A > const &r)
 
template<typename K , typename V , typename A , typename S >
auto begin (TSortedMap< K, V, A, S > &r) -> TIteratorExtension< TSortedMap< K, V, A, S > >
 
template<typename K , typename V , typename A , typename S >
auto begin (TSortedMap< K, V, A, S > const &r) -> TIteratorExtension< TSortedMap< K, V, A, S > >
 
template<typename K , typename V , typename A , typename S >
auto end (TSortedMap< K, V, A, S > &r) -> TIteratorExtension< TSortedMap< K, V, A, S > >
 
template<typename K , typename V , typename A , typename S >
auto end (TSortedMap< K, V, A, S > const &r) -> TIteratorExtension< TSortedMap< K, V, A, S > >
 
template<typename K , typename V , typename A , typename S >
size_t size (TSortedMap< K, V, A, S > const &r)
 
template<typename T , typename A >
auto begin (TSparseArray< T, A > &r) -> TIteratorExtension< TSparseArray< T, A > >
 
template<typename T , typename A >
auto begin (TSparseArray< T, A > const &r) -> TIteratorExtension< TSparseArray< T, A > >
 
template<typename T , typename A >
auto end (TSparseArray< T, A > &r) -> TIteratorExtension< TSparseArray< T, A > >
 
template<typename T , typename A >
auto end (TSparseArray< T, A > const &r) -> TIteratorExtension< TSparseArray< T, A > >
 
template<typename T , typename A >
size_t size (TSparseArray< T, A > const &r)
 

Detailed Description

Bring modern declarative range operations like views and actions to the Unreal C++ arsenal. This header is responsible for bridging compatibility between Unreal containers and range-v3/std::ranges.

Author
David Mórász
Date
2025

The official documentation is quite barebones and doesn't go to great lengths explaining how individual features in the range-v3 library behave exactly. For a more explanatory documentation I found this website https://lukasfro.github.io/range-v3-doc/chapter_01/01_introduction.html by PhD Lukas Fröhlich which lists views with examples and precise descriptions. Although, as the original documentation, that is also "incomplete".

Please consider the potentials and pitfals and the tips & tricks when using range-v3 in your program.

Remarks
Fully supported Unreal containers:
  • TArray
  • TMap
  • TMultiMap
  • TSet
  • FString (TCHAR array)
  • TStringView (given char-type)
  • TBasicArray
  • TBitArray (only UE 5.5 or later)
  • TChunkedArray
  • TMRUArray
  • TResourceArray
  • TSparseArray
  • TStaticArray
  • TIndirectArray
  • TRingBuffer
Unreal containers where some iterator features may have low-performance emulation (can be restricted with a preprocessor flag)
  • TDeque
  • TLruCache
  • TPagedArray
  • TSortedMap
Warning
Unsupported containers (they're not iterable or other various issues)
  • Most queue containers:
    • TQueue
    • TCircularQueue
    • TConsumeAllMpmcQueue
    • etc...
  • TCircularBuffer
  • TLinkedList
  • TDoubleLinkedList
  • TIntrusiveDoubleLinkedList
  • TDiscardableKeyValueCache
  • TStaticHashTable
  • FHashTable
  • TStaticBitArray
  • TStridedView (use ranges::views::stride)
  • TTripleBuffer
You may need to convert these to either a fully supported container, or write your own iterator for them. MCRO provides Mcro::Ranges::TExtendedIterator which can automatically make a simple bare-minimum iterator into a fully STL compliant one.

Definition in file Range.h.

Typedef Documentation

◆ FMapPairsAccess

◆ TExtendedIndirectArrayIterator

template<typename T >
using TExtendedIndirectArrayIterator = Mcro::Range::TExtendedIterator<T, Mcro::Range::FExtendedIteratorPolicy{.DereferencePointerToPointer = true}>

Definition at line 119 of file Range.h.

◆ TIteratorExtension

using TIteratorExtension = Mcro::Range::TExtendedIterator<decltype(DeclVal<Container>().begin()), Policy>

Bring modern declarative range operations like views and actions to the Unreal C++ arsenal.

Definition at line 94 of file Range.h.

Function Documentation

◆ begin() [1/38]

FORCEINLINE auto begin ( FString && string) -> Mcro::Range::FTempStringIterator

Definition at line 181 of file Range.h.

◆ begin() [2/38]

FORCEINLINE auto begin ( FString & string) -> const TCHAR*

Definition at line 177 of file Range.h.

◆ begin() [3/38]

FORCEINLINE auto begin ( FString const & string) -> const TCHAR*

Definition at line 178 of file Range.h.

◆ begin() [4/38]

template<typename T , typename A >
auto begin ( TArray< T, A > & r) -> T*

Definition at line 97 of file Range.h.

◆ begin() [5/38]

template<typename T , typename A >
auto begin ( TArray< T, A > const & r) -> const T*

Definition at line 98 of file Range.h.

◆ begin() [6/38]

template<typename T , typename A >
auto begin ( TArrayView< T, A > & r) -> T*

Definition at line 104 of file Range.h.

◆ begin() [7/38]

template<typename T , typename A >
auto begin ( TArrayView< T, A > const & r) -> const T*

Definition at line 105 of file Range.h.

◆ begin() [8/38]

template<typename T >
auto begin ( TBasicArray< T > & r) -> T*

Definition at line 186 of file Range.h.

◆ begin() [9/38]

template<typename T >
auto begin ( TBasicArray< T > const & r) -> const T*

Definition at line 187 of file Range.h.

◆ begin() [10/38]

template<typename T , uint32 C, typename A >
auto begin ( TChunkedArray< T, C, A > & r) -> TIteratorExtension<TChunkedArray<T, C, A>>

Definition at line 202 of file Range.h.

◆ begin() [11/38]

template<typename T , uint32 C, typename A >
auto begin ( TChunkedArray< T, C, A > const & r) -> TIteratorExtension<TChunkedArray<T, C, A>>

Definition at line 203 of file Range.h.

◆ begin() [12/38]

template<typename T , typename A >
auto begin ( TDeque< T, A > & r) -> TIteratorExtension<TDeque<T, A>>

Definition at line 209 of file Range.h.

◆ begin() [13/38]

template<typename T , typename A >
auto begin ( TDeque< T, A > const & r) -> TIteratorExtension<TDeque<T, A>>

Definition at line 210 of file Range.h.

◆ begin() [14/38]

template<typename T , typename A >
auto begin ( TIndirectArray< T, A > & r) -> TExtendedIndirectArrayIterator< T**>

Definition at line 121 of file Range.h.

◆ begin() [15/38]

template<typename T , typename A >
auto begin ( TIndirectArray< T, A > const & r) -> TExtendedIndirectArrayIterator<const T**>

Definition at line 122 of file Range.h.

◆ begin() [16/38]

template<typename K , typename V , typename C >
auto begin ( TLruCache< K, V, C > & r) -> TIteratorExtension<TLruCache<K, V, C>>

Definition at line 230 of file Range.h.

◆ begin() [17/38]

template<typename K , typename V , typename C >
auto begin ( TLruCache< K, V, C > const & r) -> TIteratorExtension<TLruCache<K, V, C>>

Definition at line 231 of file Range.h.

◆ begin() [18/38]

template<typename K , typename V , typename A , typename F >
auto begin ( TMap< K, V, A, F > & map)

Definition at line 160 of file Range.h.

◆ begin() [19/38]

template<typename K , typename V , typename A , typename F >
auto begin ( TMap< K, V, A, F > const & map)

Definition at line 161 of file Range.h.

◆ begin() [20/38]

template<typename T , typename A >
auto begin ( TMRUArray< T, A > & r) -> T*

Definition at line 237 of file Range.h.

◆ begin() [21/38]

template<typename T , typename A >
auto begin ( TMRUArray< T, A > const & r) -> const T*

Definition at line 238 of file Range.h.

◆ begin() [22/38]

template<typename K , typename V , typename A , typename F >
auto begin ( TMultiMap< K, V, A, F > & map)

Definition at line 166 of file Range.h.

◆ begin() [23/38]

template<typename K , typename V , typename A , typename F >
auto begin ( TMultiMap< K, V, A, F > const & map)

Definition at line 167 of file Range.h.

◆ begin() [24/38]

template<typename T , int32 P, typename A >
auto begin ( TPagedArray< T, P, A > & r) -> TIteratorExtension<TPagedArray<T, P, A>>

Definition at line 244 of file Range.h.

◆ begin() [25/38]

template<typename T , int32 P, typename A >
auto begin ( TPagedArray< T, P, A > const & r) -> TIteratorExtension<TPagedArray<T, P, A>>

Definition at line 245 of file Range.h.

◆ begin() [26/38]

template<typename T , uint32 A>
auto begin ( TResourceArray< T, A > & r) -> T*

Definition at line 216 of file Range.h.

◆ begin() [27/38]

template<typename T , uint32 A>
auto begin ( TResourceArray< T, A > const & r) -> const T*

Definition at line 217 of file Range.h.

◆ begin() [28/38]

template<typename T , typename A >
auto begin ( TRingBuffer< T, A > & r) -> TIteratorExtension<TRingBuffer<T, A>>

Definition at line 251 of file Range.h.

◆ begin() [29/38]

template<typename T , typename A >
auto begin ( TRingBuffer< T, A > const & r) -> TIteratorExtension<TRingBuffer<T, A>>

Definition at line 252 of file Range.h.

◆ begin() [30/38]

template<typename T , typename K , typename A >
auto begin ( TSet< T, K, A > & r) -> TIteratorExtension<TSet<T, K, A>>

Definition at line 128 of file Range.h.

◆ begin() [31/38]

template<typename T , typename K , typename A >
auto begin ( TSet< T, K, A > const & r) -> TIteratorExtension<TSet<T, K, A>>

Definition at line 129 of file Range.h.

◆ begin() [32/38]

template<typename K , typename V , typename A , typename S >
auto begin ( TSortedMap< K, V, A, S > & r) -> TIteratorExtension<TSortedMap<K, V, A, S>>

Definition at line 258 of file Range.h.

◆ begin() [33/38]

template<typename K , typename V , typename A , typename S >
auto begin ( TSortedMap< K, V, A, S > const & r) -> TIteratorExtension<TSortedMap<K, V, A, S>>

Definition at line 259 of file Range.h.

◆ begin() [34/38]

template<typename T , typename A >
auto begin ( TSparseArray< T, A > & r) -> TIteratorExtension<TSparseArray<T, A>>

Definition at line 265 of file Range.h.

◆ begin() [35/38]

template<typename T , typename A >
auto begin ( TSparseArray< T, A > const & r) -> TIteratorExtension<TSparseArray<T, A>>

Definition at line 266 of file Range.h.

◆ begin() [36/38]

template<typename T , uint32 N, uint32 A>
auto begin ( TStaticArray< T, N, A > & r) -> T*

Definition at line 111 of file Range.h.

◆ begin() [37/38]

template<typename T , uint32 N, uint32 A>
auto begin ( TStaticArray< T, N, A > const & r) -> const T*

Definition at line 112 of file Range.h.

◆ begin() [38/38]

template<typename CharType >
auto begin ( TStringView< CharType > const & string) -> const CharType*

Definition at line 173 of file Range.h.

◆ end() [1/38]

FORCEINLINE auto end ( FString && string) -> Mcro::Range::FTempStringIterator

Definition at line 182 of file Range.h.

◆ end() [2/38]

FORCEINLINE auto end ( FString & string) -> const TCHAR*

Definition at line 179 of file Range.h.

◆ end() [3/38]

FORCEINLINE auto end ( FString const & string) -> const TCHAR*

Definition at line 180 of file Range.h.

◆ end() [4/38]

template<typename T , typename A >
auto end ( TArray< T, A > & r) -> T*

Definition at line 99 of file Range.h.

◆ end() [5/38]

template<typename T , typename A >
auto end ( TArray< T, A > const & r) -> const T*

Definition at line 100 of file Range.h.

◆ end() [6/38]

template<typename T , typename A >
auto end ( TArrayView< T, A > & r) -> T*

Definition at line 106 of file Range.h.

◆ end() [7/38]

template<typename T , typename A >
auto end ( TArrayView< T, A > const & r) -> const T*

Definition at line 107 of file Range.h.

◆ end() [8/38]

template<typename T >
auto end ( TBasicArray< T > & r) -> T*

Definition at line 188 of file Range.h.

◆ end() [9/38]

template<typename T >
auto end ( TBasicArray< T > const & r) -> const T*

Definition at line 189 of file Range.h.

◆ end() [10/38]

template<typename T , uint32 C, typename A >
auto end ( TChunkedArray< T, C, A > & r) -> TIteratorExtension<TChunkedArray<T, C, A>>

Definition at line 204 of file Range.h.

◆ end() [11/38]

template<typename T , uint32 C, typename A >
auto end ( TChunkedArray< T, C, A > const & r) -> TIteratorExtension<TChunkedArray<T, C, A>>

Definition at line 205 of file Range.h.

◆ end() [12/38]

template<typename T , typename A >
auto end ( TDeque< T, A > & r) -> TIteratorExtension<TDeque<T, A>>

Definition at line 211 of file Range.h.

◆ end() [13/38]

template<typename T , typename A >
auto end ( TDeque< T, A > const & r) -> TIteratorExtension<TDeque<T, A>>

Definition at line 212 of file Range.h.

◆ end() [14/38]

template<typename T , typename A >
auto end ( TIndirectArray< T, A > & r) -> TExtendedIndirectArrayIterator< T**>

Definition at line 123 of file Range.h.

◆ end() [15/38]

template<typename T , typename A >
auto end ( TIndirectArray< T, A > const & r) -> TExtendedIndirectArrayIterator<const T**>

Definition at line 124 of file Range.h.

◆ end() [16/38]

template<typename K , typename V , typename C >
auto end ( TLruCache< K, V, C > & r) -> TIteratorExtension<TLruCache<K, V, C>>

Definition at line 232 of file Range.h.

◆ end() [17/38]

template<typename K , typename V , typename C >
auto end ( TLruCache< K, V, C > const & r) -> TIteratorExtension<TLruCache<K, V, C>>

Definition at line 233 of file Range.h.

◆ end() [18/38]

template<typename K , typename V , typename A , typename F >
auto end ( TMap< K, V, A, F > & map)

Definition at line 162 of file Range.h.

◆ end() [19/38]

template<typename K , typename V , typename A , typename F >
auto end ( TMap< K, V, A, F > const & map)

Definition at line 163 of file Range.h.

◆ end() [20/38]

template<typename T , typename A >
auto end ( TMRUArray< T, A > & r) -> T*

Definition at line 239 of file Range.h.

◆ end() [21/38]

template<typename T , typename A >
auto end ( TMRUArray< T, A > const & r) -> const T*

Definition at line 240 of file Range.h.

◆ end() [22/38]

template<typename K , typename V , typename A , typename F >
auto end ( TMultiMap< K, V, A, F > & map)

Definition at line 168 of file Range.h.

◆ end() [23/38]

template<typename K , typename V , typename A , typename F >
auto end ( TMultiMap< K, V, A, F > const & map)

Definition at line 169 of file Range.h.

◆ end() [24/38]

template<typename T , int32 P, typename A >
auto end ( TPagedArray< T, P, A > & r) -> TIteratorExtension<TPagedArray<T, P, A>>

Definition at line 246 of file Range.h.

◆ end() [25/38]

template<typename T , int32 P, typename A >
auto end ( TPagedArray< T, P, A > const & r) -> TIteratorExtension<TPagedArray<T, P, A>>

Definition at line 247 of file Range.h.

◆ end() [26/38]

template<typename T , uint32 A>
auto end ( TResourceArray< T, A > & r) -> T*

Definition at line 218 of file Range.h.

◆ end() [27/38]

template<typename T , uint32 A>
auto end ( TResourceArray< T, A > const & r) -> const T*

Definition at line 219 of file Range.h.

◆ end() [28/38]

template<typename T , typename A >
auto end ( TRingBuffer< T, A > & r) -> TIteratorExtension<TRingBuffer<T, A>>

Definition at line 253 of file Range.h.

◆ end() [29/38]

template<typename T , typename A >
auto end ( TRingBuffer< T, A > const & r) -> TIteratorExtension<TRingBuffer<T, A>>

Definition at line 254 of file Range.h.

◆ end() [30/38]

template<typename T , typename K , typename A >
auto end ( TSet< T, K, A > & r) -> TIteratorExtension<TSet<T, K, A>>

Definition at line 130 of file Range.h.

◆ end() [31/38]

template<typename T , typename K , typename A >
auto end ( TSet< T, K, A > const & r) -> TIteratorExtension<TSet<T, K, A>>

Definition at line 131 of file Range.h.

◆ end() [32/38]

template<typename K , typename V , typename A , typename S >
auto end ( TSortedMap< K, V, A, S > & r) -> TIteratorExtension<TSortedMap<K, V, A, S>>

Definition at line 260 of file Range.h.

◆ end() [33/38]

template<typename K , typename V , typename A , typename S >
auto end ( TSortedMap< K, V, A, S > const & r) -> TIteratorExtension<TSortedMap<K, V, A, S>>

Definition at line 261 of file Range.h.

◆ end() [34/38]

template<typename T , typename A >
auto end ( TSparseArray< T, A > & r) -> TIteratorExtension<TSparseArray<T, A>>

Definition at line 267 of file Range.h.

◆ end() [35/38]

template<typename T , typename A >
auto end ( TSparseArray< T, A > const & r) -> TIteratorExtension<TSparseArray<T, A>>

Definition at line 268 of file Range.h.

◆ end() [36/38]

template<typename T , uint32 N, uint32 A>
auto end ( TStaticArray< T, N, A > & r) -> T*

Definition at line 113 of file Range.h.

◆ end() [37/38]

template<typename T , uint32 N, uint32 A>
auto end ( TStaticArray< T, N, A > const & r) -> const T*

Definition at line 114 of file Range.h.

◆ end() [38/38]

template<typename CharType >
auto end ( TStringView< CharType > const & string) -> const CharType*

Definition at line 174 of file Range.h.

◆ size() [1/19]

FORCEINLINE size_t size ( FString const & string)

Definition at line 183 of file Range.h.

◆ size() [2/19]

template<typename T , typename A >
size_t size ( TArray< T, A > const & r)

Definition at line 101 of file Range.h.

◆ size() [3/19]

template<typename T , typename A >
size_t size ( TArrayView< T, A > const & r)

Definition at line 108 of file Range.h.

◆ size() [4/19]

template<typename T >
size_t size ( TBasicArray< T > const & r)

Definition at line 190 of file Range.h.

◆ size() [5/19]

template<typename T , uint32 C, typename A >
size_t size ( TChunkedArray< T, C, A > const & r)

Definition at line 206 of file Range.h.

◆ size() [6/19]

template<typename T , typename A >
size_t size ( TDeque< T, A > const & r)

Definition at line 213 of file Range.h.

◆ size() [7/19]

template<typename T , typename A >
size_t size ( TIndirectArray< T, A > const & r)

Definition at line 125 of file Range.h.

◆ size() [8/19]

template<typename K , typename V , typename C >
size_t size ( TLruCache< K, V, C > const & r)

Definition at line 234 of file Range.h.

◆ size() [9/19]

template<typename K , typename V , typename A , typename F >
size_t size ( TMap< K, V, A, F > const & map)

Definition at line 164 of file Range.h.

◆ size() [10/19]

template<typename T , typename A >
size_t size ( TMRUArray< T, A > const & r)

Definition at line 241 of file Range.h.

◆ size() [11/19]

template<typename K , typename V , typename A , typename F >
size_t size ( TMultiMap< K, V, A, F > const & map)

Definition at line 170 of file Range.h.

◆ size() [12/19]

template<typename T , int32 P, typename A >
size_t size ( TPagedArray< T, P, A > const & r)

Definition at line 248 of file Range.h.

◆ size() [13/19]

template<typename T , uint32 A>
size_t size ( TResourceArray< T, A > const & r)

Definition at line 220 of file Range.h.

◆ size() [14/19]

template<typename T , typename A >
size_t size ( TRingBuffer< T, A > const & r)

Definition at line 255 of file Range.h.

◆ size() [15/19]

template<typename T , typename K , typename A >
size_t size ( TSet< T, K, A > const & r)

Definition at line 132 of file Range.h.

◆ size() [16/19]

template<typename K , typename V , typename A , typename S >
size_t size ( TSortedMap< K, V, A, S > const & r)

Definition at line 262 of file Range.h.

◆ size() [17/19]

template<typename T , typename A >
size_t size ( TSparseArray< T, A > const & r)

Definition at line 269 of file Range.h.

◆ size() [18/19]

template<typename T , uint32 N, uint32 A>
size_t size ( TStaticArray< T, N, A > const & r)

Definition at line 115 of file Range.h.

◆ size() [19/19]

template<typename CharType >
size_t size ( TStringView< CharType > const & string)

Definition at line 175 of file Range.h.