15 #ifndef vtkConstantArray_h
16 #define vtkConstantArray_h
18 #include "vtkCommonCoreModule.h"
23 VTK_ABI_NAMESPACE_BEGIN
24 template <
class ValueTypeT>
28 vtkArrayTypes::VTK_CONSTANT_ARRAY>
32 #else // Fake the superclass for the wrappers.
41 using typename Superclass::ArrayTypeTag;
42 using typename Superclass::DataTypeTag;
43 using typename Superclass::ValueType;
53 #if defined(__VTK_WRAP__) || defined(__WRAP_GCCXML__)
103 #define vtkCreateConstantWrappedArrayInterface(T) \
104 vtkCreateImplicitWrappedArrayInterface(T); \
105 void ConstructBackend(T value); \
106 T GetConstantValue() const; \
107 bool IsBackendConstructed() const;
109 #endif // vtkConstantArray_h
115 #ifdef VTK_CONSTANT_ARRAY_INSTANTIATING
116 #define VTK_CONSTANT_ARRAY_INSTANTIATE(T) \
117 namespace vtkDataArrayPrivate \
119 VTK_ABI_NAMESPACE_BEGIN \
120 VTK_INSTANTIATE_VALUERANGE_ARRAYTYPE(vtkConstantArray<T>, double); \
121 VTK_ABI_NAMESPACE_END \
123 VTK_ABI_NAMESPACE_BEGIN \
124 template class VTKCOMMONCORE_EXPORT vtkConstantArray<T>; \
125 VTK_ABI_NAMESPACE_END
129 #define VTK_CONSTANT_ARRAY_INSTANTIATE_VALUERANGE(T) \
130 namespace vtkDataArrayPrivate \
132 VTK_ABI_NAMESPACE_BEGIN \
133 VTK_INSTANTIATE_VALUERANGE_ARRAYTYPE(vtkConstantArray<T>, T); \
134 VTK_ABI_NAMESPACE_END \
136 #elif defined(VTK_USE_EXTERN_TEMPLATE)
137 #ifndef VTK_CONSTANT_ARRAY_EXTERN
138 #define VTK_CONSTANT_ARRAY_EXTERN
140 #pragma warning(push)
143 #pragma warning(disable : 4910) // extern and dllexport incompatible
145 VTK_ABI_NAMESPACE_BEGIN
147 VTK_ABI_NAMESPACE_END
151 VTK_ABI_NAMESPACE_BEGIN
173 VTK_ABI_NAMESPACE_END
179 #endif // VTK_CONSTANT_ARRAY_EXTERN
182 #elif defined(_MSC_VER) && !defined(VTK_BUILD_SHARED_LIBS)
183 #pragma warning(push)
186 #pragma warning(disable : 4091)
189 #pragma warning(disable : 4231)
202 #pragma warning(disable : 4910) // extern and dllexport incompatible
206 VTK_ABI_NAMESPACE_BEGIN
208 VTK_ABI_NAMESPACE_END
static vtkConstantArray< ValueType > * FastDownCast(vtkAbstractArray *source)
A faster alternative to SafeDownCast for downcasting vtkAbstractArrays.
vtkExternTemplateMacro(extern template class VTKCOMMONCORE_EXPORT vtkConstantArray)
Abstract superclass for all arrays.
vtkImplicitArrayTypeMacro(SelfType, GenericDataArrayType)
A utility array for wrapping constant functions in implicit arrays.
#define VTK_DECLARE_VALUERANGE_ARRAYTYPE(ArrayType, ValueType)
bool IsBackendConstructed() const
Check whether the backend has been constructed.
std::shared_ptr< BackendT > GetBackend()
Setter/Getter for Backend.
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 ...
ValueType GetConstantValue() const
Get the constant value stored in this array.
vtkArrayDownCast_TemplateFastCastMacro(vtkConstantArray)
#define vtkCreateImplicitWrappedArrayInterface(T)
static vtkImplicitArray * New()
void ConstructBackend(Params &&...params)
Utility method for setting backend parameterization directly.