VTK  9.3.20241008
Classes | Namespaces | Macros | Functions
vtkDataArrayValueRange_Generic.h File Reference
#include "vtkDataArrayAccessor.h"
#include "vtkDataArrayMeta.h"
#include <algorithm>
#include <cassert>
#include <iterator>
#include <tuple>
#include <type_traits>
Include dependency graph for vtkDataArrayValueRange_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::IdStorage< TupleSize >
 
struct  vtk::detail::ConstValueReference< ArrayType, TupleSize, ForceValueTypeForVtkDataArray >
 
struct  vtk::detail::ValueReference< ArrayType, TupleSize, ForceValueTypeForVtkDataArray >
 
struct  vtk::detail::ConstValueIterator< ArrayType, TupleSize, ForceValueTypeForVtkDataArray >
 
struct  vtk::detail::ValueIterator< ArrayType, TupleSize, ForceValueTypeForVtkDataArray >
 
struct  vtk::detail::ValueRange< ArrayTypeT, TupleSize, ForceValueTypeForVtkDataArray >
 

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)
 

Functions

template<typename ArrayType , ComponentIdType TupleSize, typename ForceValueTypeForVtkDataArray >
ValueRange< ArrayType, TupleSize, ForceValueTypeForVtkDataArray > vtk::detail::DeclareValueRangeSpecialization (vtkDataArray *)
 

Macro Definition Documentation

◆ VTK_REF_OP_OVERLOADS

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

Definition at line 470 of file vtkDataArrayValueRange_Generic.h.

◆ VTK_TMP_MAKE_OPERATOR [1/2]

#define VTK_TMP_MAKE_OPERATOR (   OP)
Value:
friend VTK_ITER_INLINE bool operator OP( \
const ConstValueIterator& lhs, const ConstValueIterator& rhs) noexcept \
{ \
VTK_ITER_ASSERT(lhs.Array == rhs.Array, "Mismatched arrays in iterator comparison."); \
return lhs.Id.GetValueId() OP rhs.Id.GetValueId(); \
}

Definition at line 620 of file vtkDataArrayValueRange_Generic.h.

◆ VTK_TMP_MAKE_OPERATOR [2/2]

#define VTK_TMP_MAKE_OPERATOR (   OP)
Value:
friend VTK_ITER_INLINE bool operator OP( \
const ValueIterator& lhs, const ValueIterator& rhs) noexcept \
{ \
VTK_ITER_ASSERT( \
lhs.GetArray() == rhs.GetArray(), "Mismatched arrays in iterator comparison."); \
return lhs.GetId().GetValueId() OP rhs.GetId().GetValueId(); \
}

Definition at line 620 of file vtkDataArrayValueRange_Generic.h.