UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ArrayView.h File Reference
#include "CoreTypes.h"
#include "Containers/ContainersFwd.h"
#include "Misc/AssertionMacros.h"
#include "Misc/ReverseIterate.h"
#include "Misc/IntrusiveUnsetOptionalState.h"
#include "Misc/UEOps.h"
#include "Templates/Invoke.h"
#include "Templates/UnrealTypeTraits.h"
#include "Traits/ElementType.h"
#include "Containers/Array.h"
#include "Math/UnrealMathUtility.h"
#include <type_traits>

Go to the source code of this file.

Classes

struct  UE::Core::ArrayView::Private::TIsCompatibleRangeType< RangeType, ElementType >
 
struct  UE::Core::ArrayView::Private::TIsReinterpretableRangeType< RangeType, ElementType >
 
struct  TIsTArrayView< T >
 
class  TArrayView< InElementType, InSizeType >
 
struct  TIsZeroConstructType< TArrayView< InElementType > >
 
struct  TIsContiguousContainer< TArrayView< T, SizeType > >
 

Namespaces

namespace  UE
 
namespace  UE::Core
 
namespace  UE::Core::ArrayView
 
namespace  UE::Core::ArrayView::Private
 

Functions

template<typename T >
UE_FORCEINLINE_HINT constexpr auto UE::Core::ArrayView::Private::GetDataHelper (T &&Arg) -> decltype(GetData(Forward< T >(Arg)))
 
template<typename T >
decltype(autoUE::Core::ArrayView::Private::GetReinterpretedDataHelper (T &&Arg)
 
template<typename T >
 TArrayView (T *, int32) -> TArrayView< T >
 
template<typename OtherRangeType , typename CVUnqualifiedOtherRangeType = std::remove_cv_t<std::remove_reference_t<OtherRangeType>>>
constexpr auto MakeArrayView (OtherRangeType &&Other)
 
template<typename OtherRangeType , typename CVUnqualifiedOtherRangeType = std::remove_cv_t<std::remove_reference_t<OtherRangeType>>>
constexpr auto MakeArrayView (OtherRangeType &&Other UE_LIFETIMEBOUND)
 
template<typename ElementType >
constexpr TArrayView< ElementType > MakeArrayView (ElementType *Pointer UE_LIFETIMEBOUND, int32 Size)
 
template<typename ElementType >
constexpr TArrayView< const ElementType > MakeArrayView (std::initializer_list< ElementType > List UE_LIFETIMEBOUND)
 
template<typename OtherRangeType , typename CVUnqualifiedOtherRangeType = std::remove_cv_t<std::remove_reference_t<OtherRangeType>>>
constexpr auto MakeConstArrayView (OtherRangeType &&Other)
 
template<typename OtherRangeType , typename CVUnqualifiedOtherRangeType = std::remove_cv_t<std::remove_reference_t<OtherRangeType>>>
constexpr auto MakeConstArrayView (OtherRangeType &&Other UE_LIFETIMEBOUND)
 
template<typename ElementType >
constexpr TArrayView< const ElementType > MakeConstArrayView (const ElementType *Pointer UE_LIFETIMEBOUND, int32 Size)
 
template<typename ElementType >
constexpr TArrayView< const ElementType > MakeConstArrayView (std::initializer_list< ElementType > List UE_LIFETIMEBOUND)
 

Variables

template<typename T , typename ElementType >
constexpr bool UE::Core::ArrayView::Private::TIsCompatibleElementType_V =std::is_convertible_v<T**, ElementType* const*>
 
template<typename T >
constexpr bool TIsTArrayView_V = false
 
template<typename InElementType , typename InSizeType >
constexpr bool TIsTArrayView_V< TArrayView< InElementType, InSizeType > > = true
 
template<typename InElementType , typename InSizeType >
constexpr bool TIsTArrayView_V< volatile TArrayView< InElementType, InSizeType > > = true
 
template<typename InElementType , typename InSizeType >
constexpr bool TIsTArrayView_V< const TArrayView< InElementType, InSizeType > > = true
 
template<typename InElementType , typename InSizeType >
constexpr bool TIsTArrayView_V< const volatile TArrayView< InElementType, InSizeType > > = true
 

Function Documentation

◆ MakeArrayView() [1/4]

template<typename ElementType >
constexpr TArrayView< ElementType > MakeArrayView ( ElementType *Pointer  UE_LIFETIMEBOUND,
int32  Size 
)
constexpr

◆ MakeArrayView() [2/4]

template<typename OtherRangeType , typename CVUnqualifiedOtherRangeType = std::remove_cv_t<std::remove_reference_t<OtherRangeType>>>
constexpr auto MakeArrayView ( OtherRangeType &&Other  UE_LIFETIMEBOUND)
constexpr

◆ MakeArrayView() [3/4]

template<typename OtherRangeType , typename CVUnqualifiedOtherRangeType = std::remove_cv_t<std::remove_reference_t<OtherRangeType>>>
constexpr auto MakeArrayView ( OtherRangeType &&  Other)
constexpr

◆ MakeArrayView() [4/4]

template<typename ElementType >
constexpr TArrayView< const ElementType > MakeArrayView ( std::initializer_list< ElementType > List  UE_LIFETIMEBOUND)
constexpr

◆ MakeConstArrayView() [1/4]

template<typename ElementType >
constexpr TArrayView< const ElementType > MakeConstArrayView ( const ElementType *Pointer  UE_LIFETIMEBOUND,
int32  Size 
)
constexpr

◆ MakeConstArrayView() [2/4]

template<typename OtherRangeType , typename CVUnqualifiedOtherRangeType = std::remove_cv_t<std::remove_reference_t<OtherRangeType>>>
constexpr auto MakeConstArrayView ( OtherRangeType &&Other  UE_LIFETIMEBOUND)
constexpr

◆ MakeConstArrayView() [3/4]

template<typename OtherRangeType , typename CVUnqualifiedOtherRangeType = std::remove_cv_t<std::remove_reference_t<OtherRangeType>>>
constexpr auto MakeConstArrayView ( OtherRangeType &&  Other)
constexpr

◆ MakeConstArrayView() [4/4]

template<typename ElementType >
constexpr TArrayView< const ElementType > MakeConstArrayView ( std::initializer_list< ElementType > List  UE_LIFETIMEBOUND)
constexpr

◆ TArrayView()

template<typename T >
TArrayView ( T *  ,
int32   
) -> TArrayView< T >

Variable Documentation

◆ TIsTArrayView_V

template<typename T >
constexpr bool TIsTArrayView_V = false
constexpr

◆ TIsTArrayView_V< const TArrayView< InElementType, InSizeType > >

◆ TIsTArrayView_V< const volatile TArrayView< InElementType, InSizeType > >

◆ TIsTArrayView_V< TArrayView< InElementType, InSizeType > >

◆ TIsTArrayView_V< volatile TArrayView< InElementType, InSizeType > >