VTK  9.7.1
vtkAbstractBuffer.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
14 #ifndef vtkAbstractBuffer_h
15 #define vtkAbstractBuffer_h
16 
17 #include "vtkCommonCoreModule.h" // For export macro
18 #include "vtkObject.h"
19 
20 VTK_ABI_NAMESPACE_BEGIN
21 
22 class VTKCOMMONCORE_EXPORT vtkAbstractBuffer : public vtkObject
23 {
24 public:
25  vtkTypeMacro(vtkAbstractBuffer, vtkObject);
26 
30  virtual void* GetVoidBuffer() = 0;
31 
35  virtual vtkIdType GetNumberOfElements() const = 0;
36 
41  virtual int GetDataType() const = 0;
42 
46  virtual int GetDataTypeSize() const = 0;
47 
48 protected:
49  vtkAbstractBuffer() = default;
50  ~vtkAbstractBuffer() override = default;
51 
52 private:
53  vtkAbstractBuffer(const vtkAbstractBuffer&) = delete;
54  void operator=(const vtkAbstractBuffer&) = delete;
55 };
56 
57 VTK_ABI_NAMESPACE_END
58 #endif
59 // VTK-HeaderTest-Exclude: vtkAbstractBuffer.h
abstract base class for most VTK objects
Definition: vtkObject.h:52
int vtkIdType
Definition: vtkType.h:363
Abstract base class for vtkBuffer providing buffer protocol support.