retdec
unknown_type.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_CTYPES_UNKNOWN_TYPE_H
8 #define RETDEC_CTYPES_UNKNOWN_TYPE_H
9 
10 #include <memory>
11 
12 #include "retdec/ctypes/type.h"
13 
14 namespace retdec {
15 namespace ctypes {
16 
20 class UnknownType : public Type
21 {
22  public:
23  static std::shared_ptr<UnknownType> create();
24 
25  virtual bool isUnknown() const override;
26 
29  virtual void accept(Visitor *v) override;
31 
32  private:
33  // Instance is created by static method create().
34  UnknownType();
35 };
36 
37 } // namespace ctypes
38 } // namespace retdec
39 
40 #endif
A base class of all C types.
Definition: type.h:22
A representation of unknown type.
Definition: unknown_type.h:21
UnknownType()
Constructs a new unknown type.
Definition: unknown_type.cpp:18
virtual bool isUnknown() const override
Definition: unknown_type.cpp:35
virtual void accept(Visitor *v) override
Visitor pattern implementation.
Definition: unknown_type.cpp:40
static std::shared_ptr< UnknownType > create()
Creates unknown type.
Definition: unknown_type.cpp:26
A base class of all C-types' visitors.
Definition: visitor.h:33
A base class of all C types.
Definition: archive_wrapper.h:19