VTK  9.1.0
Classes | Namespaces | Macros | Functions
vtkDataArrayTupleRange_Generic.h File Reference
#include "vtkAssume.h"
#include "vtkDataArrayAccessor.h"
#include "vtkDataArrayMeta.h"
#include <algorithm>
#include <cassert>
#include <iterator>
#include <type_traits>
Include dependency graph for vtkDataArrayTupleRange_Generic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  vtk::detail::ConstComponentReference< ArrayType, TupleSize >
 
struct  vtk::detail::ComponentReference< ArrayType, TupleSize >
 
struct  vtk::detail::ConstComponentIterator< ArrayType, TupleSize >
 
struct  vtk::detail::ComponentIterator< ArrayType, TupleSize >
 
struct  vtk::detail::ConstTupleReference< ArrayType, TupleSize >
 
struct  vtk::detail::TupleReference< ArrayType, TupleSize >
 
struct  vtk::detail::ConstTupleIterator< ArrayType, TupleSize >
 
struct  vtk::detail::TupleIterator< ArrayType, TupleSize >
 
struct  vtk::detail::TupleRange< ArrayTypeT, TupleSize >
 

Namespaces

namespace  vtk
 Specialization of tuple ranges and iterators for vtkAOSDataArrayTemplate.
 
namespace  vtk::detail
 

Macros

#define VTK_REF_OP_OVERLOADS(Op, ImplOp)
 
#define VTK_TMP_MAKE_OPERATOR(OP)
 
#define VTK_TMP_MAKE_OPERATOR(OP)
 
#define VTK_TMP_MAKE_OPERATOR(OP)
 
#define VTK_TMP_MAKE_OPERATOR(OP)
 

Functions

template<typename ArrayType , ComponentIdType TupleSize>
TupleRange< ArrayType, TupleSize > vtk::detail::DeclareTupleRangeSpecialization (vtkDataArray *)
 

Macro Definition Documentation

◆ VTK_REF_OP_OVERLOADS

#define VTK_REF_OP_OVERLOADS (   Op,
  ImplOp 
)
Value:
friend VTK_ITER_INLINE ComponentReference operator Op( \
ComponentReference lhs, APIType val) noexcept \
{ \
const APIType newVal = lhs ImplOp val; \
lhs = newVal; \
return lhs; \
} \
friend VTK_ITER_INLINE ComponentReference operator Op( \
ComponentReference lhs, ComponentReference val) noexcept \
{ \
const APIType newVal = lhs ImplOp val; \
lhs = newVal; \
return lhs; \
} \
friend VTK_ITER_INLINE APIType& operator Op(APIType& lhs, ComponentReference val) noexcept \
{ \
const APIType newVal = lhs ImplOp val; \
lhs = newVal; \
return lhs; \
}
#define VTK_ITER_INLINE

Definition at line 328 of file vtkDataArrayTupleRange_Generic.h.

◆ VTK_TMP_MAKE_OPERATOR [1/4]

#define VTK_TMP_MAKE_OPERATOR (   OP)
Value:
friend VTK_ITER_INLINE bool operator OP( \
const ConstComponentIterator& lhs, const ConstComponentIterator& rhs) noexcept \
{ \
VTK_ITER_ASSERT(lhs.Array == rhs.Array, "Mismatched arrays in iterator comparison."); \
VTK_ITER_ASSERT(lhs.TupleId == rhs.TupleId, "Mismatched tuple ids in iterator comparison."); \
VTK_ITER_ASSUME(lhs.NumComps.value > 0); \
VTK_ITER_ASSUME(lhs.NumComps.value == rhs.NumComps.value); \
return lhs.ComponentId OP rhs.ComponentId; \
}

Definition at line 1536 of file vtkDataArrayTupleRange_Generic.h.

◆ VTK_TMP_MAKE_OPERATOR [2/4]

#define VTK_TMP_MAKE_OPERATOR (   OP)
Value:
friend VTK_ITER_INLINE bool operator OP( \
const ComponentIterator& lhs, const ComponentIterator& rhs) noexcept \
{ \
VTK_ITER_ASSERT( \
lhs.GetArray() == rhs.GetArray(), "Mismatched arrays in iterator comparison."); \
VTK_ITER_ASSERT( \
lhs.GetTupleId() == rhs.GetTupleId(), "Mismatched tuple ids in iterator comparison."); \
VTK_ITER_ASSUME(lhs.GetNumComps().value > 0); \
VTK_ITER_ASSUME(lhs.GetNumComps().value == rhs.GetNumComps().value); \
return lhs.GetComponentId() OP rhs.GetComponentId(); \
}

Definition at line 1536 of file vtkDataArrayTupleRange_Generic.h.

◆ VTK_TMP_MAKE_OPERATOR [3/4]

#define VTK_TMP_MAKE_OPERATOR (   OP)
Value:
friend VTK_ITER_INLINE bool operator OP( \
const ConstTupleIterator& lhs, const ConstTupleIterator& rhs) noexcept \
{ \
VTK_ITER_ASSERT( \
lhs.GetArray() == rhs.GetArray(), "Cannot compare iterators from different arrays."); \
VTK_ITER_ASSUME(lhs.GetNumComps().value > 0); \
VTK_ITER_ASSUME(lhs.GetNumComps().value == rhs.GetNumComps().value); \
return lhs.GetTupleId() OP rhs.GetTupleId(); \
}

Definition at line 1536 of file vtkDataArrayTupleRange_Generic.h.

◆ VTK_TMP_MAKE_OPERATOR [4/4]

#define VTK_TMP_MAKE_OPERATOR (   OP)
Value:
friend VTK_ITER_INLINE bool operator OP( \
const TupleIterator& lhs, const TupleIterator& rhs) noexcept \
{ \
VTK_ITER_ASSERT( \
lhs.GetArray() == rhs.GetArray(), "Cannot compare iterators from different arrays."); \
VTK_ITER_ASSUME(lhs.GetNumComps().value > 0); \
VTK_ITER_ASSUME(lhs.GetNumComps().value == rhs.GetNumComps().value); \
return lhs.GetTupleId() OP rhs.GetTupleId(); \
}

Definition at line 1536 of file vtkDataArrayTupleRange_Generic.h.