|
23 | 23 |
|
24 | 24 | namespace arrow { |
25 | 25 |
|
| 26 | +/// \brief Abstract array visitor class |
| 27 | +/// |
| 28 | +/// Subclass this to create a visitor that can be used with the Array::Accept() |
| 29 | +/// method. |
26 | 30 | class ARROW_EXPORT ArrayVisitor { |
27 | 31 | public: |
28 | 32 | virtual ~ArrayVisitor() = default; |
@@ -67,6 +71,10 @@ class ARROW_EXPORT ArrayVisitor { |
67 | 71 | virtual Status Visit(const ExtensionArray& array); |
68 | 72 | }; |
69 | 73 |
|
| 74 | +/// \brief Abstract type visitor class |
| 75 | +/// |
| 76 | +/// Subclass this to create a visitor that can be used with the DataType::Accept() |
| 77 | +/// method. |
70 | 78 | class ARROW_EXPORT TypeVisitor { |
71 | 79 | public: |
72 | 80 | virtual ~TypeVisitor() = default; |
@@ -111,6 +119,10 @@ class ARROW_EXPORT TypeVisitor { |
111 | 119 | virtual Status Visit(const ExtensionType& type); |
112 | 120 | }; |
113 | 121 |
|
| 122 | +/// \brief Abstract scalar visitor class |
| 123 | +/// |
| 124 | +/// Subclass this to create a visitor that can be used with the Scalar::Accept() |
| 125 | +/// method. |
114 | 126 | class ARROW_EXPORT ScalarVisitor { |
115 | 127 | public: |
116 | 128 | virtual ~ScalarVisitor() = default; |
@@ -150,6 +162,9 @@ class ARROW_EXPORT ScalarVisitor { |
150 | 162 | virtual Status Visit(const FixedSizeListScalar& scalar); |
151 | 163 | virtual Status Visit(const StructScalar& scalar); |
152 | 164 | virtual Status Visit(const DictionaryScalar& scalar); |
| 165 | + virtual Status Visit(const SparseUnionScalar& scalar); |
| 166 | + virtual Status Visit(const DenseUnionScalar& scalar); |
| 167 | + virtual Status Visit(const ExtensionScalar& scalar); |
153 | 168 | }; |
154 | 169 |
|
155 | 170 | } // namespace arrow |
0 commit comments