Poco::CodeGeneration

class CppGenerator

Library: CodeGeneration
Package: CodeGeneration
Header: Poco/CodeGeneration/CppGenerator.h

Description

Cpp implementation of the code generator

Inheritance

Direct Base Classes: CodeGenerator

All Base Classes: CodeGenerator

Member Summary

Member Functions: endFile, methodEnd, methodStart, registerConstructorHint, structEnd, structStart, variable, variablesEnd, variablesStart, writeDefaultHeader, writeFwdDecl, writeImplementation, writeInclude, writeMethodImplementation, writeNameSpaceBegin, writeNameSpaceEnd, writeSrcInclude, writeSystemInclude, writeTypeDef

Inherited Functions: addFwdDecl, addIncludeFile, addSrcIncludeFile, addSystemIncludeFile, copyright, endFile, includes, libraryName, methodEnd, methodStart, nameSpace, structEnd, structStart, systemIncludes, usePocoIncludeStyle, variable, variablesEnd, variablesStart, writeDefaultHeader, writeFwdDecl, writeImplementation, writeInclude, writeIncludes, writeMethodImplementation, writeNameSpaceBegin, writeNameSpaceEnd, writeSystemInclude, writeTypeDef

Constructors

CppGenerator

CppGenerator(
    const std::string & nameSpace,
    const std::string & libraryName,
    bool usePocoIncludeStyle,
    const std::string & copyright,
    std::ostream & hOut,
    std::ostream & cppOut
);

Creates the CppGenerator.

Destructor

~CppGenerator virtual

~CppGenerator();

Destroys the CppGenerator.

Member Functions

endFile virtual

void endFile();

Closes the include guard

See also: Poco::CodeGeneration::CodeGenerator::endFile()

methodEnd virtual

void methodEnd(
    const Poco::CppParser::Function * pFunc,
    const CodeGenerator::Properties & properties
);

See also: Poco::CodeGeneration::CodeGenerator::methodEnd()

methodStart virtual

void methodStart(
    const Poco::CppParser::Function * pFunc,
    const CodeGenerator::Properties & properties
);

See also: Poco::CodeGeneration::CodeGenerator::methodStart()

registerConstructorHint inline

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

registerConstructorHint

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.

structEnd virtual

void structEnd();

See also: Poco::CodeGeneration::CodeGenerator::structEnd()

structStart virtual

void structStart(
    const Poco::CppParser::Struct * pStruct,
    const CodeGenerator::Properties & properties
);

See also: Poco::CodeGeneration::CodeGenerator::structStart()

variable virtual

void variable(
    const Poco::CppParser::Variable * pVar
);

See also: Poco::CodeGeneration::CodeGenerator::variable()

variablesEnd virtual

void variablesEnd();

See also: Poco::CodeGeneration::CodeGenerator::variablesEnd()

variablesStart virtual

void variablesStart();

See also: Poco::CodeGeneration::CodeGenerator::variablesStart()

writeDefaultHeader virtual

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

See also: Poco::CodeGeneration::CodeGenerator::writeDefaultHeader()

writeFwdDecl

void writeFwdDecl(
    const CodeGenerator::FwdDecl & decl
);

writeImplementation virtual

void writeImplementation(
    const std::string & code
);

See also: Poco::CodeGeneration::CodeGenerator::writeImplementation()

writeInclude virtual

void writeInclude(
    const std::string & include,
    bool toHeader
);

See also: Poco::CodeGeneration::CodeGenerator::writeInclude()

writeMethodImplementation virtual

void writeMethodImplementation(
    const std::string & code
);

See also: Poco::CodeGeneration::CodeGenerator::writeMethodImplementation()

writeNameSpaceBegin virtual

void writeNameSpaceBegin(
    const std::string & fullNameSpace
);

See also: Poco::CodeGeneration::CodeGenerator::writeNameSpaceBegin()

writeNameSpaceEnd virtual

void writeNameSpaceEnd(
    const std::string & fullNameSpace
);

See also: Poco::CodeGeneration::CodeGenerator::writeNameSpaceEnd()

writeSrcInclude

void writeSrcInclude(
    const std::string & include
);

writeSystemInclude virtual

void writeSystemInclude(
    const std::string & include
);

See also: Poco::CodeGeneration::CodeGenerator::writeSystemInclude()

writeTypeDef virtual

void writeTypeDef(
    const Poco::CppParser::TypeDef * pType
);

See also: Poco::CodeGeneration::CodeGenerator::writeTypeDef()