Library: CodeGeneration
Package: CodeGeneration
Header: Poco/CodeGeneration/CppGenerator.h
Cpp implementation of the code generator
Direct Base Classes: CodeGenerator
All Base Classes: CodeGenerator
Member Functions: enableAttributes, enableTimestamps, endFile, methodEnd, methodStart, registerConstructorHint, structEnd, structStart, variable, variablesEnd, variablesStart, writeDefaultHeader, writeFwdDecls, writeImplementation, writeInclude, writeMethodImplementation, writeNameSpaceBegin, writeNameSpaceEnd, writeSrcInclude, writeSystemInclude, writeToHeader, writeTypeDef
Inherited Functions: addFwdDecl, addIncludeFile, addSrcIncludeFile, addSystemIncludeFile, copyright, endFile, includes, libraryName, methodEnd, methodStart, nameSpace, structEnd, structStart, systemIncludes, usePocoIncludeStyle, variable, variablesEnd, variablesStart, writeDefaultHeader, writeFwdDecls, writeImplementation, writeInclude, writeIncludes, writeMethodImplementation, writeNameSpaceBegin, writeNameSpaceEnd, writeSystemInclude, writeTypeDef
CppGenerator(
const std::string & nameSpace,
const std::string & libraryName,
bool usePocoIncludeStyle,
const std::string & copyright,
std::ostream & hOut,
std::ostream & cppOut
);
Creates the CppGenerator.
~CppGenerator();
Destroys the CppGenerator.
void enableAttributes(
bool enable = true
);
Enable or disable (default) writing of attributes.
void enableTimestamps(
bool enable = true
);
Enable (default) or disable timestamps in file headers.
void endFile();
Closes the include guard
void methodEnd(
const Poco::CppParser::Function * pFunc,
const CodeGenerator::Properties & properties
);
void methodStart(
const Poco::CppParser::Function * pFunc,
const CodeGenerator::Properties & properties
);
void registerConstructorHint(
const Poco::CppParser::Variable * pVar,
const Poco::CppParser::Parameter * pParam
);
Register a hint which tells us which parameter of the constructor should be used to init a given member variable
void registerConstructorHint(
const Poco::CppParser::Variable * pVar,
const std::string & val
);
Register a hint which tells us which constant value should be used to init a given member variable.
void structEnd();
void structStart(
const Poco::CppParser::Struct * pStruct,
const CodeGenerator::Properties & properties
);
void variable(
const Poco::CppParser::Variable * pVar
);
void variablesEnd();
void variablesStart();
void writeDefaultHeader(
const Poco::CppParser::Struct * pStruct,
const std::string & className,
const std::string & libraryName,
const std::string & package
);
Writes the default header, plus include guard
void writeFwdDecls(
const CodeGenerator::FwdDecls & decl
);
void writeImplementation(
const std::string & code
);
void writeInclude(
const std::string & include,
bool toHeader
);
void writeMethodImplementation(
const std::string & code
);
void writeNameSpaceBegin(
const std::string & fullNameSpace
);
void writeNameSpaceEnd(
const std::string & fullNameSpace
);
void writeSrcInclude(
const std::string & include
);
void writeSystemInclude(
const std::string & include
);
void writeToHeader(
const std::string & jsCode
);
void writeTypeDef(
const Poco::CppParser::TypeDef * pType
);