20 #ifndef vtkStdFunctionArray_h
21 #define vtkStdFunctionArray_h
23 #include "vtkCommonCoreModule.h"
29 VTK_ABI_NAMESPACE_BEGIN
30 template <
class ValueTypeT>
38 #else // Fake the superclass for the wrappers.
47 using typename Superclass::ArrayTypeTag;
48 using typename Superclass::DataTypeTag;
49 using typename Superclass::ValueType;
59 #if defined(__VTK_WRAP__) || defined(__WRAP_GCCXML__)
93 #define vtkCreateStdFunctionWrappedArrayInterface(T) \
94 vtkCreateImplicitWrappedArrayInterface(T); \
95 void ConstructBackend(std::function<T(int)> func);
97 #endif // vtkStdFunctionArray_h
103 #ifdef VTK_STD_FUNCTION_ARRAY_INSTANTIATING
104 #define VTK_STD_FUNCTION_ARRAY_INSTANTIATE(T) \
105 namespace vtkDataArrayPrivate \
107 VTK_ABI_NAMESPACE_BEGIN \
108 VTK_INSTANTIATE_VALUERANGE_ARRAYTYPE(vtkStdFunctionArray<T>, double); \
109 VTK_ABI_NAMESPACE_END \
111 VTK_ABI_NAMESPACE_BEGIN \
112 template class VTKCOMMONCORE_EXPORT vtkStdFunctionArray<T>; \
113 VTK_ABI_NAMESPACE_END
117 #define VTK_STD_FUNCTION_ARRAY_INSTANTIATE_VALUERANGE(T) \
118 namespace vtkDataArrayPrivate \
120 VTK_ABI_NAMESPACE_BEGIN \
121 VTK_INSTANTIATE_VALUERANGE_ARRAYTYPE(vtkStdFunctionArray<T>, T); \
122 VTK_ABI_NAMESPACE_END \
124 #elif defined(VTK_USE_EXTERN_TEMPLATE)
125 #ifndef VTK_STD_FUNCTION_ARRAY_EXTERN
126 #define VTK_STD_FUNCTION_ARRAY_EXTERN
128 #pragma warning(push)
131 #pragma warning(disable : 4910) // extern and dllexport incompatible
133 VTK_ABI_NAMESPACE_BEGIN
135 VTK_ABI_NAMESPACE_END
139 VTK_ABI_NAMESPACE_BEGIN
161 VTK_ABI_NAMESPACE_END
167 #endif // VTK_STD_FUNCTION_ARRAY_EXTERN
170 #elif defined(_MSC_VER) && !defined(VTK_BUILD_SHARED_LIBS)
171 #pragma warning(push)
174 #pragma warning(disable : 4091)
177 #pragma warning(disable : 4231)
190 #pragma warning(disable : 4910) // extern and dllexport incompatible
194 VTK_ABI_NAMESPACE_BEGIN
196 VTK_ABI_NAMESPACE_END
Abstract superclass for all arrays.
vtkImplicitArrayTypeMacro(SelfType, GenericDataArrayType)
A utility array for wrapping std::function in implicit arrays.
#define VTK_DECLARE_VALUERANGE_ARRAYTYPE(ArrayType, ValueType)
Base interface for all typed vtkDataArray subclasses.
vtkArrayDownCast_TemplateFastCastMacro(vtkStdFunctionArray)
static vtkStdFunctionArray< ValueType > * FastDownCast(vtkAbstractArray *source)
A faster alternative to SafeDownCast for downcasting vtkAbstractArrays.
vtkInstantiateTemplateMacro(extern template class VTKCOMMONCORE_EXPORT vtkArrayIteratorTemplate)
abstract superclass for arrays of numeric data
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
A read only array class that wraps an implicit function from integers to any value type supported by ...
vtkExternTemplateMacro(extern template class VTKCOMMONCORE_EXPORT vtkStdFunctionArray)
#define vtkCreateImplicitWrappedArrayInterface(T)
static vtkImplicitArray * New()
#define VTK_DEPRECATED_IN_9_7_0(reason)
void ConstructBackend(Params &&...params)
Utility method for setting backend parameterization directly.