VTK  9.3.20240419
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
vtk::detail::ComponentReference< ArrayType, TupleSize > Struct Template Reference

#include <vtkDataArrayTupleRange_Generic.h>

Public Types

using value_type = APIType
 

Public Member Functions

VTK_ITER_INLINE ComponentReference () noexcept
 
VTK_ITER_INLINE ComponentReference (ArrayType *array, NumCompsType numComps, TupleIdType tuple, ComponentIdType comp) noexcept
 
VTK_ITER_INLINE ComponentReference (const ComponentReference &o) noexcept=default
 
VTK_ITER_INLINE ComponentReference (ComponentReference &&o) noexcept=default
 
VTK_ITER_INLINE ComponentReference operator= (const ComponentReference &o) noexcept
 
VTK_ITER_INLINE ComponentReference operator= (ComponentReference &&o) noexcept
 
template<typename OArray , ComponentIdType OSize>
VTK_ITER_INLINE ComponentReference operator= (const ComponentReference< OArray, OSize > &o) noexcept
 
VTK_ITER_INLINE operator APIType () const noexcept
 
template<typename AT = ArrayType>
std::enable_if< std::is_same< AT, vtkDataArray >::value, ComponentReference >::type VTK_ITER_INLINE operator= (APIType val) noexcept
 
template<typename AT = ArrayType>
std::enable_if<!std::is_same< AT, vtkDataArray >::value, ComponentReference >::type VTK_ITER_INLINE operator= (APIType val) noexcept
 
VTK_ITER_INLINE ComponentReference operator++ () noexcept
 
VTK_ITER_INLINE APIType operator++ (int) noexcept
 
VTK_ITER_INLINE ComponentReference operator-- () noexcept
 
VTK_ITER_INLINE APIType operator-- (int) noexcept
 

Protected Member Functions

template<typename AT = ArrayType>
std::enable_if< std::is_same< AT, vtkDataArray >::value, APIType >::type VTK_ITER_INLINE castOperator () const noexcept
 
template<typename AT = ArrayType>
std::enable_if<!std::is_same< AT, vtkDataArray >::value, APIType >::type VTK_ITER_INLINE castOperator () const noexcept
 
VTK_ITER_INLINE void CopyReference (const ComponentReference &o) noexcept
 

Protected Attributes

ArrayType * Array
 
NumCompsType NumComps
 
TupleIdType TupleId
 
ComponentIdType ComponentId
 

Friends

struct ConstComponentReference< ArrayType, TupleSize >
 
struct ComponentIterator< ArrayType, TupleSize >
 
VTK_ITER_INLINE void swap (ComponentReference lhs, ComponentReference rhs) noexcept
 
template<typename OArray , ComponentIdType OSize>
VTK_ITER_INLINE void swap (ComponentReference lhs, ComponentReference< OArray, OSize > rhs) noexcept
 
VTK_ITER_INLINE void swap (ComponentReference lhs, APIType &rhs) noexcept
 
VTK_ITER_INLINE void swap (APIType &lhs, ComponentReference rhs) noexcept
 

Detailed Description

template<typename ArrayType, ComponentIdType TupleSize>
struct vtk::detail::ComponentReference< ArrayType, TupleSize >

Definition at line 155 of file vtkDataArrayTupleRange_Generic.h.

Member Typedef Documentation

◆ value_type

template<typename ArrayType , ComponentIdType TupleSize>
using vtk::detail::ComponentReference< ArrayType, TupleSize >::value_type = APIType

Definition at line 165 of file vtkDataArrayTupleRange_Generic.h.

Constructor & Destructor Documentation

◆ ComponentReference() [1/4]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE vtk::detail::ComponentReference< ArrayType, TupleSize >::ComponentReference ( )
inlinenoexcept

Definition at line 168 of file vtkDataArrayTupleRange_Generic.h.

◆ ComponentReference() [2/4]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE vtk::detail::ComponentReference< ArrayType, TupleSize >::ComponentReference ( ArrayType *  array,
NumCompsType  numComps,
TupleIdType  tuple,
ComponentIdType  comp 
)
inlinenoexcept

Definition at line 177 of file vtkDataArrayTupleRange_Generic.h.

◆ ComponentReference() [3/4]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE vtk::detail::ComponentReference< ArrayType, TupleSize >::ComponentReference ( const ComponentReference< ArrayType, TupleSize > &  o)
defaultnoexcept

◆ ComponentReference() [4/4]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE vtk::detail::ComponentReference< ArrayType, TupleSize >::ComponentReference ( ComponentReference< ArrayType, TupleSize > &&  o)
defaultnoexcept

Member Function Documentation

◆ operator=() [1/5]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE ComponentReference vtk::detail::ComponentReference< ArrayType, TupleSize >::operator= ( const ComponentReference< ArrayType, TupleSize > &  o)
inlinenoexcept

Definition at line 198 of file vtkDataArrayTupleRange_Generic.h.

◆ operator=() [2/5]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE ComponentReference vtk::detail::ComponentReference< ArrayType, TupleSize >::operator= ( ComponentReference< ArrayType, TupleSize > &&  o)
inlinenoexcept

Definition at line 216 of file vtkDataArrayTupleRange_Generic.h.

◆ operator=() [3/5]

template<typename ArrayType , ComponentIdType TupleSize>
template<typename OArray , ComponentIdType OSize>
VTK_ITER_INLINE ComponentReference vtk::detail::ComponentReference< ArrayType, TupleSize >::operator= ( const ComponentReference< OArray, OSize > &  o)
inlinenoexcept

Definition at line 234 of file vtkDataArrayTupleRange_Generic.h.

◆ operator APIType()

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE vtk::detail::ComponentReference< ArrayType, TupleSize >::operator APIType ( ) const
inlinenoexcept

Definition at line 240 of file vtkDataArrayTupleRange_Generic.h.

◆ operator=() [4/5]

template<typename ArrayType , ComponentIdType TupleSize>
template<typename AT = ArrayType>
std::enable_if<std::is_same<AT, vtkDataArray>::value, ComponentReference>::type VTK_ITER_INLINE vtk::detail::ComponentReference< ArrayType, TupleSize >::operator= ( APIType  val)
inlinenoexcept

Definition at line 245 of file vtkDataArrayTupleRange_Generic.h.

◆ operator=() [5/5]

template<typename ArrayType , ComponentIdType TupleSize>
template<typename AT = ArrayType>
std::enable_if<!std::is_same<AT, vtkDataArray>::value, ComponentReference>::type VTK_ITER_INLINE vtk::detail::ComponentReference< ArrayType, TupleSize >::operator= ( APIType  val)
inlinenoexcept

Definition at line 256 of file vtkDataArrayTupleRange_Generic.h.

◆ operator++() [1/2]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE ComponentReference vtk::detail::ComponentReference< ArrayType, TupleSize >::operator++ ( )
inlinenoexcept

Definition at line 299 of file vtkDataArrayTupleRange_Generic.h.

◆ operator++() [2/2]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE APIType vtk::detail::ComponentReference< ArrayType, TupleSize >::operator++ ( int  )
inlinenoexcept

Definition at line 307 of file vtkDataArrayTupleRange_Generic.h.

◆ operator--() [1/2]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE ComponentReference vtk::detail::ComponentReference< ArrayType, TupleSize >::operator-- ( )
inlinenoexcept

Definition at line 315 of file vtkDataArrayTupleRange_Generic.h.

◆ operator--() [2/2]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE APIType vtk::detail::ComponentReference< ArrayType, TupleSize >::operator-- ( int  )
inlinenoexcept

Definition at line 323 of file vtkDataArrayTupleRange_Generic.h.

◆ castOperator() [1/2]

template<typename ArrayType , ComponentIdType TupleSize>
template<typename AT = ArrayType>
std::enable_if<std::is_same<AT, vtkDataArray>::value, APIType>::type VTK_ITER_INLINE vtk::detail::ComponentReference< ArrayType, TupleSize >::castOperator ( ) const
inlineprotectednoexcept

Definition at line 365 of file vtkDataArrayTupleRange_Generic.h.

◆ castOperator() [2/2]

template<typename ArrayType , ComponentIdType TupleSize>
template<typename AT = ArrayType>
std::enable_if<!std::is_same<AT, vtkDataArray>::value, APIType>::type VTK_ITER_INLINE vtk::detail::ComponentReference< ArrayType, TupleSize >::castOperator ( ) const
inlineprotectednoexcept

Definition at line 374 of file vtkDataArrayTupleRange_Generic.h.

◆ CopyReference()

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE void vtk::detail::ComponentReference< ArrayType, TupleSize >::CopyReference ( const ComponentReference< ArrayType, TupleSize > &  o)
inlineprotectednoexcept

Definition at line 382 of file vtkDataArrayTupleRange_Generic.h.

Friends And Related Function Documentation

◆ ConstComponentReference< ArrayType, TupleSize >

template<typename ArrayType , ComponentIdType TupleSize>
friend struct ConstComponentReference< ArrayType, TupleSize >
friend

Definition at line 323 of file vtkDataArrayTupleRange_Generic.h.

◆ ComponentIterator< ArrayType, TupleSize >

template<typename ArrayType , ComponentIdType TupleSize>
friend struct ComponentIterator< ArrayType, TupleSize >
friend

Definition at line 323 of file vtkDataArrayTupleRange_Generic.h.

◆ swap [1/4]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE void swap ( ComponentReference< ArrayType, TupleSize >  lhs,
ComponentReference< ArrayType, TupleSize >  rhs 
)
friend

Definition at line 264 of file vtkDataArrayTupleRange_Generic.h.

◆ swap [2/4]

template<typename ArrayType , ComponentIdType TupleSize>
template<typename OArray , ComponentIdType OSize>
VTK_ITER_INLINE void swap ( ComponentReference< ArrayType, TupleSize >  lhs,
ComponentReference< OArray, OSize >  rhs 
)
friend

Definition at line 272 of file vtkDataArrayTupleRange_Generic.h.

◆ swap [3/4]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE void swap ( ComponentReference< ArrayType, TupleSize >  lhs,
APIType &  rhs 
)
friend

Definition at line 284 of file vtkDataArrayTupleRange_Generic.h.

◆ swap [4/4]

template<typename ArrayType , ComponentIdType TupleSize>
VTK_ITER_INLINE void swap ( APIType &  lhs,
ComponentReference< ArrayType, TupleSize >  rhs 
)
friend

Definition at line 291 of file vtkDataArrayTupleRange_Generic.h.

Member Data Documentation

◆ Array

template<typename ArrayType , ComponentIdType TupleSize>
ArrayType* vtk::detail::ComponentReference< ArrayType, TupleSize >::Array
mutableprotected

Definition at line 390 of file vtkDataArrayTupleRange_Generic.h.

◆ NumComps

template<typename ArrayType , ComponentIdType TupleSize>
NumCompsType vtk::detail::ComponentReference< ArrayType, TupleSize >::NumComps
protected

Definition at line 391 of file vtkDataArrayTupleRange_Generic.h.

◆ TupleId

template<typename ArrayType , ComponentIdType TupleSize>
TupleIdType vtk::detail::ComponentReference< ArrayType, TupleSize >::TupleId
protected

Definition at line 392 of file vtkDataArrayTupleRange_Generic.h.

◆ ComponentId

template<typename ArrayType , ComponentIdType TupleSize>
ComponentIdType vtk::detail::ComponentReference< ArrayType, TupleSize >::ComponentId
protected

Definition at line 393 of file vtkDataArrayTupleRange_Generic.h.


The documentation for this struct was generated from the following file: