retdec
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
retdec::llvmir2hll::NumVarNameGen Class Reference

A generator of variable names of the form prefixN, where N is a number. More...

#include <num_var_name_gen.h>

Inheritance diagram for retdec::llvmir2hll::NumVarNameGen:
Inheritance graph
[legend]
Collaboration diagram for retdec::llvmir2hll::NumVarNameGen:
Collaboration graph
[legend]

Public Member Functions

virtual std::string getId () const override
 Returns the ID of the generator. More...
 
virtual void restart () override
 Restarts the generator to start returning variable names from the beginning. More...
 
virtual std::string getNextVarName () override
 Returns a next variable name. More...
 
- Public Member Functions inherited from retdec::llvmir2hll::VarNameGen
virtual ~VarNameGen ()=default
 
const std::string & getPrefix () const
 Returns the prefix used by the generator. More...
 

Static Public Member Functions

static UPtr< VarNameGencreate (std::string prefix="var")
 Creates a new NumVarNameGen object. More...
 

Private Member Functions

 NumVarNameGen (std::string prefix)
 Constructs a new NumVarNameGen object. More...
 

Private Attributes

unsigned nextVarNum
 Next variable number to be used. More...
 

Additional Inherited Members

- Protected Member Functions inherited from retdec::llvmir2hll::VarNameGen
 VarNameGen (std::string prefix="")
 Constructs a new variable name generator. More...
 
- Protected Attributes inherited from retdec::llvmir2hll::VarNameGen
const std::string prefix
 The prefix of all returned variable names. More...
 

Detailed Description

A generator of variable names of the form prefixN, where N is a number.

Use create() to create instances.

Constructor & Destructor Documentation

◆ NumVarNameGen()

retdec::llvmir2hll::NumVarNameGen::NumVarNameGen ( std::string  prefix)
private

Constructs a new NumVarNameGen object.

For more details, see create().

Member Function Documentation

◆ create()

UPtr< VarNameGen > retdec::llvmir2hll::NumVarNameGen::create ( std::string  prefix = "var")
static

Creates a new NumVarNameGen object.

Parameters
[in]prefixPrefix of all returned variable names.

The getNextVarName() function then returns variable names of the form prefixN, where N is a number.

◆ getId()

std::string retdec::llvmir2hll::NumVarNameGen::getId ( ) const
overridevirtual

Returns the ID of the generator.

Implements retdec::llvmir2hll::VarNameGen.

◆ getNextVarName()

std::string retdec::llvmir2hll::NumVarNameGen::getNextVarName ( )
overridevirtual

Returns a next variable name.

If there is no next variable name available, the generator starts generating names from the beginning.

Implements retdec::llvmir2hll::VarNameGen.

◆ restart()

void retdec::llvmir2hll::NumVarNameGen::restart ( )
overridevirtual

Restarts the generator to start returning variable names from the beginning.

Note that there is no requirement for this class to return variable names in the same order between consecutive calls to this function.

Implements retdec::llvmir2hll::VarNameGen.

Member Data Documentation

◆ nextVarNum

unsigned retdec::llvmir2hll::NumVarNameGen::nextVarNum
private

Next variable number to be used.


The documentation for this class was generated from the following files: