Program Listing for File NameGenerator.hh

Program Listing for File NameGenerator.hh#

Return to documentation for file (src/midend/programTransformation/astOutlining/NameGenerator.hh)

#if !defined(INC_NAMEGENERATOR_HH)
#define INC_NAMEGENERATOR_HH

#include <string>
#include <cstdlib>
#include "rosedll.h"

class ROSE_DLL_API NameGenerator
{
public:
  NameGenerator (size_t first_id = 1);
  NameGenerator (const std::string& pre,
                 size_t first_id = 1,
                 const std::string& suf = std::string (""));
  virtual ~NameGenerator (void) {}

  size_t id (void) const;

  std::string prefix (void) const;

  std::string suffix (void) const;

  virtual std::string current (void) const;

  std::string next (void);

private:
  size_t cur_id_;
  std::string prefix_;
  std::string suffix_;
};

#endif

// eof