 |
VTK
9.0.1
|
Go to the documentation of this file.
19 #ifndef vtkDataArrayValueRange_AOS_h
20 #define vtkDataArrayValueRange_AOS_h
29 #include <type_traits>
34 #ifndef VTK_DEBUG_RANGE_ITERATORS
46 template <
typename ValueTypeT, ComponentIdType TupleSize>
82 , Begin(arr->GetPointer(beginValue))
83 , End(arr->GetPointer(endValue))
86 assert(beginValue >= 0 && beginValue <= endValue);
87 assert(endValue >= 0 && endValue <= this->Array->GetNumberOfValues());
94 std::distance(this->Array->GetPointer(0), this->Begin) + beginValue;
96 ? std::distance(this->Array->GetPointer(0), this->Begin) + endValue
97 : std::distance(this->Array->GetPointer(0), this->End);
99 return ValueRange{ this->Array, realBegin, realEnd };
111 return static_cast<ValueIdType>(this->Begin - this->Array->GetPointer(0));
117 return static_cast<ValueIdType>(this->End - this->Array->GetPointer(0));
145 NumCompsType NumComps{};
153 typename ValueType =
typename ArrayType::ValueType,
164 #endif // VTK_DEBUG_RANGE_ITERATORS
165 #endif // __VTK_WRAP__
166 #endif // vtkDataArrayValueRange_AOS_h
VTK_ITER_INLINE ArrayType * GetArray() const noexcept
VTK_ITER_INLINE ValueRange GetSubRange(ValueIdType beginValue=0, ValueIdType endValue=-1) const noexcept
VTK_ITER_INLINE const_iterator cbegin() const noexcept
VTK_ITER_INLINE size_type size() const noexcept
ConstIteratorType const_iterator
ValueType const * ConstIteratorType
ValueType const & ConstReferenceType
VTK_ITER_INLINE iterator end() noexcept
ConstReferenceType const_reference
VTK_ITER_INLINE ComponentIdType GetTupleSize() const noexcept
ValueIterator< ArrayType, TupleSize > IteratorType
VTK_ITER_INLINE iterator begin() noexcept
ValueType & ReferenceType
VTK_ITER_INLINE const_iterator begin() const noexcept
VTK_ITER_INLINE reference operator[](size_type i) noexcept
VTK_ITER_INLINE ValueIdType GetEndValueId() const noexcept
VTK_ITER_INLINE const_reference operator[](size_type i) const noexcept
constexpr static ComponentIdType TupleSizeTag
VTK_ITER_INLINE const_iterator end() const noexcept
ConstValueReference< ArrayType, TupleSize > ConstReferenceType
VTK_ITER_INLINE ValueIdType GetBeginValueId() const noexcept
ConstValueIterator< ArrayType, TupleSize > ConstIteratorType
VTK_ITER_INLINE const_iterator cend() const noexcept
Specialization of tuple ranges and iterators for vtkAOSDataArrayTemplate.
GetAPIType< ArrayTypeT > ValueType
ValueReference< ArrayType, TupleSize > ReferenceType
VTK_ITER_INLINE ValueRange() noexcept=default
Array-Of-Structs implementation of vtkGenericDataArray.
ValueRange< AOSArrayType, TupleSize > DeclareValueRangeSpecialization(ArrayType *)