VTK  9.7.1
vtkCharArray.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
31 #ifndef vtkCharArray_h
32 #define vtkCharArray_h
33 
34 #include "vtkAOSDataArrayTemplate.h" // Real Superclass
35 #include "vtkCommonCoreModule.h" // For export macro
36 #include "vtkDataArray.h"
37 
38 // Fake the superclass for non-Python wrappers.
39 // Python can handle the templated superclass; Java and others cannot.
40 #if !defined(__VTK_WRAP__) || defined(__VTK_WRAP_PYTHON__) || defined(__VTK_WRAP_HIERARCHY__)
41 #define vtkDataArray vtkAOSDataArrayTemplate<char>
42 #endif
43 VTK_ABI_NAMESPACE_BEGIN
44 class VTKCOMMONCORE_EXPORT vtkCharArray : public vtkDataArray
45 {
46 public:
47  vtkTypeMacro(vtkCharArray, vtkDataArray);
48 #if !defined(__VTK_WRAP__) || defined(__VTK_WRAP_PYTHON__) || defined(__VTK_WRAP_HIERARCHY__)
49 #undef vtkDataArray
50 #endif
51  static vtkCharArray* New();
52  static vtkCharArray* ExtendedNew();
53  void PrintSelf(ostream& os, vtkIndent indent) override;
54 
55  // This macro expands to the set of method declarations that
56  // make up the interface of vtkAOSDataArrayTemplate, which is ignored
57  // by the wrappers.
58 #if (defined(__VTK_WRAP__) || defined(__WRAP_GCCXML__)) && !defined(__VTK_WRAP_PYTHON__)
60 #endif
61 
66  {
67  return static_cast<vtkCharArray*>(Superclass::FastDownCast(source));
68  }
69 
70 protected:
71  vtkCharArray();
72  ~vtkCharArray() override;
73 
74 private:
75  typedef vtkAOSDataArrayTemplate<char> RealSuperclass;
76 
77  vtkCharArray(const vtkCharArray&) = delete;
78  void operator=(const vtkCharArray&) = delete;
79 };
80 
81 // Define vtkArrayDownCast implementation:
83 
84 VTK_ABI_NAMESPACE_END
85 #endif
Abstract superclass for all arrays.
#define vtkCreateWrappedArrayInterface(T)
vtkArrayDownCast_FastCastMacro(vtkCharArray)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:44
a simple class to control print indentation
Definition: vtkIndent.h:28
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
static vtkCharArray * FastDownCast(vtkAbstractArray *source)
A faster alternative to SafeDownCast for downcasting vtkAbstractArrays.
Definition: vtkCharArray.h:65