ICG 2
Electric Boogaloo
AssignValue.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 AssignValue {
12 
13  typedef bool Result;
14 
16 
17  public:
18  AssignValueVisitor(Value * value, void * address);
19 
20  // Visitor Interface
21 
22  virtual bool visitPrimitiveDataType(std::shared_ptr<const PrimitiveDataType> node) override;
23  virtual bool visitCompositeType(std::shared_ptr<const CompositeDataType> node) override;
24  virtual bool visitArrayType(std::shared_ptr<const ArrayDataType> node) override;
25  virtual bool visitPointerType(std::shared_ptr<const PointerDataType> node) override;
26  virtual bool visitEnumeratedType(std::shared_ptr<const EnumDataType> node) override;
27  virtual bool visitStringType (std::shared_ptr<const StringDataType> node) override;
28  virtual bool visitSequenceType (std::shared_ptr<const SequenceDataType> node) override;
29 
30 
31  private:
32  // Visitor State
33  Value * value_to_assign;
34  void * address;
35  };
36 }
Definition: AssignValue.hpp:15
virtual bool visitCompositeType(std::shared_ptr< const CompositeDataType > node) override
Definition: AssignValue.cpp:48
virtual bool visitSequenceType(std::shared_ptr< const SequenceDataType > node) override
Definition: AssignValue.cpp:79
virtual bool visitArrayType(std::shared_ptr< const ArrayDataType > node) override
Definition: AssignValue.cpp:53
virtual bool visitStringType(std::shared_ptr< const StringDataType > node) override
Definition: AssignValue.cpp:37
virtual bool visitEnumeratedType(std::shared_ptr< const EnumDataType > node) override
Definition: AssignValue.cpp:69
virtual bool visitPrimitiveDataType(std::shared_ptr< const PrimitiveDataType > node) override
Definition: AssignValue.cpp:30
virtual bool visitPointerType(std::shared_ptr< const PointerDataType > node) override
Definition: AssignValue.cpp:58
AssignValueVisitor(Value *value, void *address)
Definition: AssignValue.cpp:28
Abstract base class for a DataTypeVisitor.
Definition: DataTypeVisitor.hpp:20
Value is an abstract base-class that represents a value on the right-hand-side of an assignment.
Definition: Value.hpp:9
Assign to a leaf value.
Definition: AssignValue.hpp:11
bool Result
Definition: AssignValue.hpp:13