ICG 2
Electric Boogaloo
ResizeSequence.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 #include "Value/Value.hpp"
6 
7 #include <vector>
8 #include <stack>
9 
10 
11 namespace ResizeSequence {
12 
14 
15  public:
16  ResizeSequenceVisitor(void * address, int num_elems);
17 
18  // Visitor Interface
19 
20  virtual bool visitPrimitiveDataType(std::shared_ptr<const PrimitiveDataType> node) override;
21  virtual bool visitCompositeType(std::shared_ptr<const CompositeDataType> node) override;
22  virtual bool visitArrayType(std::shared_ptr<const ArrayDataType> node) override;
23  virtual bool visitPointerType(std::shared_ptr<const PointerDataType> node) override;
24  virtual bool visitEnumeratedType(std::shared_ptr<const EnumDataType> node) override;
25  virtual bool visitStringType (std::shared_ptr<const StringDataType> node) override;
26  virtual bool visitSequenceType (std::shared_ptr<const SequenceDataType> node) override;
27 
28  private:
29 
30  bool visitIncorrectType(std::shared_ptr<const DataType> node);
31 
32  // Visitor Intermediate State
33  void * address;
34  int num_elems;
35  };
36 }
Abstract base class for a DataTypeVisitor.
Definition: DataTypeVisitor.hpp:20
Definition: ResizeSequence.hpp:13
virtual bool visitEnumeratedType(std::shared_ptr< const EnumDataType > node) override
Definition: ResizeSequence.cpp:35
virtual bool visitPointerType(std::shared_ptr< const PointerDataType > node) override
Definition: ResizeSequence.cpp:27
ResizeSequenceVisitor(void *address, int num_elems)
Definition: ResizeSequence.cpp:9
virtual bool visitStringType(std::shared_ptr< const StringDataType > node) override
Definition: ResizeSequence.cpp:39
virtual bool visitCompositeType(std::shared_ptr< const CompositeDataType > node) override
Definition: ResizeSequence.cpp:19
virtual bool visitPrimitiveDataType(std::shared_ptr< const PrimitiveDataType > node) override
Definition: ResizeSequence.cpp:31
virtual bool visitSequenceType(std::shared_ptr< const SequenceDataType > node) override
Definition: ResizeSequence.cpp:13
virtual bool visitArrayType(std::shared_ptr< const ArrayDataType > node) override
Definition: ResizeSequence.cpp:23
Definition: ResizeSequence.hpp:11