1 #ifndef Rosebud_CxxGenerator_H
2 #define Rosebud_CxxGenerator_H
3 #include <Rosebud/Generator.h>
10 size_t outputWidth = 130;
Base class for generators that produce C++ code.
Graph containing user-defined vertices and edges.
virtual std::string resetStatement(const Ast::PropertyPtr &)
Statement to initialize a property.
virtual std::string initialValue(const Ast::PropertyPtr &)
Initial value expression for the property.
Rosebud is a tool to generate code for ROSE.
virtual void genInitProperties(std::ostream &header, std::ostream &impl, const Ast::ClassPtr &)
Emit code that initializes all local properties.
virtual std::string machineGenerated(char commentType= '/')
Return a title comment that says the file is machine generated.
virtual void genArgsConstructor(std::ostream &header, std::ostream &impl, const Ast::ClassPtr &, const Hierarchy &, Access)
Emit code for the constructor with ctor_args property arguments.
Base class for backend code generators.
virtual void genDefaultConstructor(std::ostream &header, std::ostream &impl, const Ast::ClassPtr &, Access)
Emit code for the class default constructor.
virtual void genDestructor(std::ostream &header, std::ostream &impl, const Ast::ClassPtr &)
Emit code for the class destructor.
virtual std::string dataMemberType(const Ast::PropertyPtr &)
Type for the data member for a property.
virtual std::string valueType(const Ast::PropertyPtr &)
Type of value for initializing a property.
std::shared_ptr< Property > PropertyPtr
Shared-ownership pointer to a Property.
std::shared_ptr< Class > ClassPtr
Shared-ownership pointer to a Class.
virtual std::string ctorInitializerExpression(const Ast::PropertyPtr &, const std::string &expr)
Expression for initializing a property in a constructor, or empty.