ICG 2
Electric Boogaloo
PrintValue.hpp
Go to the documentation of this file.
1 #include <iostream>
2 #include <stack>
3 
5 
6 namespace PrintValue {
7 
9 
10  public:
11  PrintValueVisitor(std::ostream &s, void *address);
12 
13  // Visitor Interface
14 
15  virtual bool visitPrimitiveDataType(std::shared_ptr<const PrimitiveDataType> node) override;
16  virtual bool visitCompositeType(std::shared_ptr<const CompositeDataType> node) override;
17  virtual bool visitArrayType(std::shared_ptr<const ArrayDataType> node) override;
18  virtual bool visitPointerType(std::shared_ptr<const PointerDataType> node) override;
19  virtual bool visitEnumeratedType(std::shared_ptr<const EnumDataType> node) override;
20  virtual bool visitStringType (std::shared_ptr<const StringDataType> node) override;
21  virtual bool visitSequenceType (std::shared_ptr<const SequenceDataType> node) override;
22 
23  private:
24  // Visitor State
25  std::ostream& s;
26  std::stack<void *> address_stack;
27  };
28 }
Abstract base class for a DataTypeVisitor.
Definition: DataTypeVisitor.hpp:20
Definition: PrintValue.hpp:8
virtual bool visitCompositeType(std::shared_ptr< const CompositeDataType > node) override
Definition: PrintValue.cpp:17
virtual bool visitSequenceType(std::shared_ptr< const SequenceDataType > node) override
Definition: PrintValue.cpp:88
PrintValueVisitor(std::ostream &s, void *address)
Definition: PrintValue.cpp:8
virtual bool visitStringType(std::shared_ptr< const StringDataType > node) override
Definition: PrintValue.cpp:82
virtual bool visitEnumeratedType(std::shared_ptr< const EnumDataType > node) override
Definition: PrintValue.cpp:75
virtual bool visitPointerType(std::shared_ptr< const PointerDataType > node) override
Definition: PrintValue.cpp:69
virtual bool visitPrimitiveDataType(std::shared_ptr< const PrimitiveDataType > node) override
Definition: PrintValue.cpp:12
virtual bool visitArrayType(std::shared_ptr< const ArrayDataType > node) override
Definition: PrintValue.cpp:50
Definition: PrintValue.hpp:6