retdec
word_var_name_gen.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_LLVMIR2HLL_VAR_NAME_GEN_VAR_NAME_GENS_WORD_VAR_NAME_GEN_H
8 #define RETDEC_LLVMIR2HLL_VAR_NAME_GEN_VAR_NAME_GENS_WORD_VAR_NAME_GEN_H
9 
10 #include <cstddef>
11 #include <string>
12 
15 
16 namespace retdec {
17 namespace llvmir2hll {
18 
29 class WordVarNameGen: public VarNameGen {
30 public:
31  static UPtr<VarNameGen> create(std::string prefix = "");
32 
33  virtual std::string getId() const override;
34  virtual void restart() override;
35  virtual std::string getNextVarName() override;
36 
37 private:
38  WordVarNameGen(std::string prefix);
39 
40 private:
42  std::size_t nextWordIndex;
43 };
44 
45 } // namespace llvmir2hll
46 } // namespace retdec
47 
48 #endif
A base class for all generators of variable names.
Definition: var_name_gen.h:26
const std::string prefix
The prefix of all returned variable names.
Definition: var_name_gen.h:59
A generator of words as variable names.
Definition: word_var_name_gen.h:29
WordVarNameGen(std::string prefix)
Constructs a new WordVarNameGen object.
Definition: word_var_name_gen.cpp:39
virtual std::string getNextVarName() override
Returns a next variable name.
Definition: word_var_name_gen.cpp:59
static UPtr< VarNameGen > create(std::string prefix="")
Creates a new WordVarNameGen object.
Definition: word_var_name_gen.cpp:47
std::size_t nextWordIndex
Index to the next word.
Definition: word_var_name_gen.h:42
virtual void restart() override
Restarts the generator to start returning variable names from the beginning.
Definition: word_var_name_gen.cpp:55
virtual std::string getId() const override
Returns the ID of the generator.
Definition: word_var_name_gen.cpp:51
A library providing API for working with back-end IR.
std::unique_ptr< T > UPtr
An alias for a unique pointer.
Definition: smart_ptr.h:26
Definition: archive_wrapper.h:19
Declarations, aliases, macros, etc. for the use of smart pointers.
A base class for all generators of variable names.