4#ifndef vtkCompositeImplicitBackend_h
5#define vtkCompositeImplicitBackend_h
41#include "vtkCommonCoreModule.h"
48VTK_ABI_NAMESPACE_BEGIN
51template <
typename ValueType>
104#if defined(VTK_COMPOSITE_BACKEND_INSTANTIATING)
106#define VTK_INSTANTIATE_COMPOSITE_BACKEND(ValueType) \
107 VTK_ABI_NAMESPACE_BEGIN \
108 template class VTKCOMMONCORE_EXPORT vtkCompositeImplicitBackend<ValueType>; \
109 VTK_ABI_NAMESPACE_END
111#elif defined(VTK_USE_EXTERN_TEMPLATE)
113#ifndef VTK_COMPOSITE_BACKEND_TEMPLATE_EXTERN
114#define VTK_COMPOSITE_BACKEND_TEMPLATE_EXTERN
117#pragma warning(disable : 4910)
119VTK_ABI_NAMESPACE_BEGIN
A utility structure serving as a backend for composite arrays: an array composed of multiple arrays c...
vtkIdType GetOffset(vtkIdType idx) const
Get the tuple offset of the array at the given index.
ValueType operator()(vtkIdType idx) const
Indexing operator for the composite of the two arrays respecting the vtkImplicitArray expectations.
~vtkCompositeImplicitBackend()
vtkCompositeImplicitBackend(const std::vector< vtkDataArray * > &arrays)
Constructor for the backend.
std::unique_ptr< Internals > Internal
vtkIdType GetNumberOfArrays() const
Get the number of original arrays composing this backend.
unsigned long getMemorySize() const
Returns the smallest integer memory size in KiB needed to store the array.
vtkDataArray * GetArray(vtkIdType idx) const
Get the original array at the given index.
vtkCompositeImplicitBackend(vtkDataArrayCollection *arrays)
maintain an ordered list of dataarray objects
#define vtkExternTemplateMacro(decl)
A macro to declare extern templates for all numerical types.