retdec
pattern.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_LLVMIR2HLL_PATTERN_PATTERN_H
8 #define RETDEC_LLVMIR2HLL_PATTERN_PATTERN_H
9 
10 #include <llvm/Support/raw_ostream.h>
11 
14 
15 namespace retdec {
16 namespace llvmir2hll {
17 
26 public:
27  virtual ~Pattern() = default;
28 
37  virtual void print(llvm::raw_ostream &os,
38  const std::string &indentation = "") const = 0;
39 
40 protected:
41  Pattern() = default;
42 };
43 
44 } // namespace llvmir2hll
45 } // namespace retdec
46 
47 #endif
A base class for representing code patterns.
Definition: pattern.h:25
virtual void print(llvm::raw_ostream &os, const std::string &indentation="") const =0
Prints the pattern to stream os, each line indented with indentation.
virtual ~Pattern()=default
A mixin to make classes non-copyable.
Definition: non_copyable.h:27
A library providing API for working with back-end IR.
Definition: archive_wrapper.h:19
A mixin to make classes non-copyable.
Declarations, aliases, macros, etc. for the use of smart pointers.