VTK  9.3.20240424
Classes | Namespaces | Macros | Typedefs | Variables
vtkDataArrayMeta.h File Reference

This file contains a variety of metaprogramming constructs for working with vtkDataArrays. More...

#include "vtkAssume.h"
#include "vtkDataArray.h"
#include "vtkDebugRangeIterators.h"
#include "vtkMeta.h"
#include "vtkSetGet.h"
#include "vtkType.h"
#include <type_traits>
#include <utility>
Include dependency graph for vtkDataArrayMeta.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  vtk::detail::IsVtkDataArray< T >
 
struct  vtk::detail::IsValidTupleSize< Size >
 
struct  vtk::detail::IsStaticTupleSize< Size >
 
struct  vtk::detail::AreStaticTupleSizes< S1, S2 >
 
struct  vtk::detail::IsEitherTupleSizeDynamic< S1, S2 >
 
struct  vtk::detail::GenericTupleSize< TupleSize >
 
struct  vtk::detail::GenericTupleSize< DynamicTupleSize >
 
struct  vtk::detail::GetAPITypeImpl< ArrayType, ForceValueTypeForVtkDataArray >
 
struct  vtk::detail::GetAPITypeImpl< vtkDataArray, ForceValueTypeForVtkDataArray >
 
struct  vtk::detail::IsAOSDataArrayImpl< ArrayType >
 

Namespaces

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

Macros

#define VTK_ITER_ASSERT(x, msg)
 
#define VTK_ITER_INLINE   VTK_ALWAYS_INLINE
 
#define VTK_ITER_ASSUME   VTK_ASSUME_NO_ASSERT
 
#define VTK_ITER_OPTIMIZE_START   VTK_ALWAYS_OPTIMIZE_START
 
#define VTK_ITER_OPTIMIZE_END   VTK_ALWAYS_OPTIMIZE_END
 

Typedefs

using vtk::ComponentIdType = int
 
using vtk::TupleIdType = vtkIdType
 
using vtk::ValueIdType = vtkIdType
 
template<typename T >
using vtk::detail::EnableIfVtkDataArray = typename std::enable_if< IsVtkDataArray< T >::value >::type
 
template<ComponentIdType TupleSize>
using vtk::detail::EnableIfValidTupleSize = typename std::enable_if< IsValidTupleSize< TupleSize >::value >::type
 
template<ComponentIdType TupleSize>
using vtk::detail::EnableIfStaticTupleSize = typename std::enable_if< IsStaticTupleSize< TupleSize >::value >::type
 
template<ComponentIdType S1, ComponentIdType S2, typename T = void>
using vtk::detail::EnableIfStaticTupleSizes = typename std::enable_if< AreStaticTupleSizes< S1, S2 >::value, T >::type
 
template<ComponentIdType S1, ComponentIdType S2, typename T = void>
using vtk::detail::EnableIfEitherTupleSizeIsDynamic = typename std::enable_if< IsEitherTupleSizeDynamic< S1, S2 >::value, T >::type
 
template<typename ArrayType , typename ForceValueTypeForVtkDataArray = double, typename = detail::EnableIfVtkDataArray<ArrayType>>
using vtk::GetAPIType = typename detail::GetAPITypeImpl< ArrayType, ForceValueTypeForVtkDataArray >::APIType
 
template<typename ArrayType >
using vtk::IsAOSDataArray = std::integral_constant< bool, detail::IsAOSDataArrayImpl< ArrayType >::value >
 

Variables

static constexpr ComponentIdType vtk::detail::DynamicTupleSize = 0
 

Detailed Description

This file contains a variety of metaprogramming constructs for working with vtkDataArrays.

Definition in file vtkDataArrayMeta.h.

Macro Definition Documentation

◆ VTK_ITER_ASSERT

#define VTK_ITER_ASSERT (   x,
  msg 
)

Definition at line 31 of file vtkDataArrayMeta.h.

◆ VTK_ITER_INLINE

#define VTK_ITER_INLINE   VTK_ALWAYS_INLINE

Definition at line 36 of file vtkDataArrayMeta.h.

◆ VTK_ITER_ASSUME

#define VTK_ITER_ASSUME   VTK_ASSUME_NO_ASSERT

Definition at line 37 of file vtkDataArrayMeta.h.

◆ VTK_ITER_OPTIMIZE_START

#define VTK_ITER_OPTIMIZE_START   VTK_ALWAYS_OPTIMIZE_START

Definition at line 38 of file vtkDataArrayMeta.h.

◆ VTK_ITER_OPTIMIZE_END

#define VTK_ITER_OPTIMIZE_END   VTK_ALWAYS_OPTIMIZE_END

Definition at line 39 of file vtkDataArrayMeta.h.