retdec
hll_writer_factory.h
Go to the documentation of this file.
1 
9 #ifndef RETDEC_LLVMIR2HLL_HLL_HLL_WRITER_FACTORY_H
10 #define RETDEC_LLVMIR2HLL_HLL_HLL_WRITER_FACTORY_H
11 
12 #include <string>
13 
14 #include <llvm/Support/raw_ostream.h>
15 
19 
20 namespace retdec {
21 namespace llvmir2hll {
22 
23 class Module;
24 class HLLWriter;
25 
30  Factory<
31  // Type of the base class.
32  HLLWriter,
33  // Type of the object's identifier.
34  std::string,
35  // Type of a function used to create instances.
36  ShPtr<HLLWriter> (*)(llvm::raw_ostream &, const std::string&)
37  >
38 >;
39 
40 } // namespace llvmir2hll
41 } // namespace retdec
42 
43 #endif
Implementation of a generic object factory.
Definition: factory.h:124
A base class of all HLL writers.
Definition: hll_writer.h:41
Implementation of the Singleton design pattern.
Definition: singleton.h:34
Implementation of the Object Factory design pattern.
A library providing API for working with back-end IR.
std::shared_ptr< T > ShPtr
An alias for a shared pointer.
Definition: smart_ptr.h:18
Definition: archive_wrapper.h:19
Implementation of the Singleton design pattern.
Declarations, aliases, macros, etc. for the use of smart pointers.