4#ifndef vtkCompositeArray_h
5#define vtkCompositeArray_h
7#ifdef VTK_COMPOSITE_ARRAY_INSTANTIATING
8#define VTK_IMPLICIT_VALUERANGE_INSTANTIATING
9#include "vtkDataArrayPrivate.txx"
12#include "vtkCommonCoreModule.h"
16#ifdef VTK_COMPOSITE_ARRAY_INSTANTIATING
17#undef VTK_IMPLICIT_VALUERANGE_INSTANTIATING
50VTK_ABI_NAMESPACE_BEGIN
58VTK_ABI_NAMESPACE_BEGIN
69 const std::vector<vtkDataArray*>& arrays);
75#ifdef VTK_COMPOSITE_ARRAY_INSTANTIATING
78#define VTK_INSTANTIATE_COMPOSITE_ARRAY(ValueType) \
79 VTK_ABI_NAMESPACE_BEGIN \
80 template class VTKCOMMONCORE_EXPORT vtkImplicitArray<vtkCompositeImplicitBackend<ValueType>>; \
81 VTK_ABI_NAMESPACE_END \
82 namespace vtkDataArrayPrivate \
84 VTK_ABI_NAMESPACE_BEGIN \
85 VTK_INSTANTIATE_VALUERANGE_ARRAYTYPE( \
86 vtkImplicitArray<vtkCompositeImplicitBackend<ValueType>>, double) \
87 VTK_ABI_NAMESPACE_END \
89#define VTK_INSTANTIATE_COMPOSITE_ARRAY_FUNCTIONS(ValueType) \
92 VTK_ABI_NAMESPACE_BEGIN \
93 template VTKCOMMONCORE_EXPORT \
94 vtkSmartPointer<vtkImplicitArray<vtkCompositeImplicitBackend<ValueType>>> \
95 ConcatenateDataArrays(const std::vector<vtkDataArray*>& arrays); \
96 VTK_ABI_NAMESPACE_END \
99#elif defined(VTK_USE_EXTERN_TEMPLATE)
100#ifndef VTK_COMPOSITE_ARRAY_TEMPLATE_EXTERN
101#define VTK_COMPOSITE_ARRAY_TEMPLATE_EXTERN
106#pragma warning(disable : 4910)
108VTK_ABI_NAMESPACE_BEGIN
117#elif defined(_MSC_VER) && !defined(VTK_BUILD_SHARED_LIBS)
120#pragma warning(disable : 4091)
123#pragma warning(disable : 4231)
136#pragma warning(disable : 4910)
140VTK_ABI_NAMESPACE_BEGIN
A utility structure serving as a backend for composite arrays: an array composed of multiple arrays c...
abstract superclass for arrays of numeric data
A read only array class that wraps an implicit function from integers to any value type supported by ...
Hold a reference to a vtkObjectBase instance.
Specialization of tuple ranges and iterators for vtkAOSDataArrayTemplate.
vtkSmartPointer< vtkCompositeArray< T > > ConcatenateDataArrays(const std::vector< vtkDataArray * > &arrays)
#define vtkInstantiateSecondOrderTemplateMacro(decl0, decl1)
#define vtkExternSecondOrderTemplateMacro(decl0, decl1)