PhoenixGenerator  2.0.4
Set of tools to generate code
Loading...
Searching...
No Matches
CppTraitGetter Class Reference

Class generator for setter trait. More...

#include <CppTraitGetter.h>

+ Inheritance diagram for CppTraitGetter:
+ Collaboration diagram for CppTraitGetter:

Public Member Functions

virtual void classExtraFunctionDeclaration (std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
 
virtual void classExtraFunctionImplementation (std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
 
 CppTraitGetter ()
 Consctructor of CppTraitGetter.
 
virtual void headerExtraInclude (std::ofstream &fs, const GeneratorMode &mode) const
 
virtual void privateMethodDeclaration (std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
 
virtual void privateMethodImplementation (std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
 
virtual void protectedMethodDeclaration (std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
 
virtual void protectedMethodImplementation (std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
 
virtual void publicMethodDeclaration (std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
 Declaration of methods.
 
virtual void publicMethodImplementation (std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
 Implementation of methods.
 
virtual void testCallFunction (std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
 
virtual void testFunction (std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
 
virtual ~CppTraitGetter ()
 Desctructor of CppTraitGetter.
 

Detailed Description

Class generator for setter trait.

Definition at line 16 of file CppTraitGetter.h.

Constructor & Destructor Documentation

◆ CppTraitGetter()

CppTraitGetter::CppTraitGetter ( )

Consctructor of CppTraitGetter.

Definition at line 27 of file CppTraitGetter.cpp.

References PAbstractTraitBackend::PAbstractTraitBackend().

+ Here is the call graph for this function:

◆ ~CppTraitGetter()

CppTraitGetter::~CppTraitGetter ( )
virtual

Desctructor of CppTraitGetter.

Definition at line 32 of file CppTraitGetter.cpp.

32{}

Member Function Documentation

◆ classExtraFunctionDeclaration()

virtual void PAbstractTraitBackend::classExtraFunctionDeclaration ( std::ofstream & fs,
const PClassConfig & classConfig,
const GeneratorMode & mode ) const
inlinevirtualinherited

◆ classExtraFunctionImplementation()

virtual void PAbstractTraitBackend::classExtraFunctionImplementation ( std::ofstream & fs,
const PClassConfig & classConfig,
const GeneratorMode & mode ) const
inlinevirtualinherited

◆ headerExtraInclude()

virtual void PAbstractTraitBackend::headerExtraInclude ( std::ofstream & fs,
const GeneratorMode & mode ) const
inlinevirtualinherited

◆ privateMethodDeclaration()

virtual void PAbstractTraitBackend::privateMethodDeclaration ( std::ofstream & fs,
const PClassConfig & classConfig,
const GeneratorMode & mode ) const
inlinevirtualinherited

◆ privateMethodImplementation()

virtual void PAbstractTraitBackend::privateMethodImplementation ( std::ofstream & fs,
const PClassConfig & classConfig,
const GeneratorMode & mode ) const
inlinevirtualinherited

◆ protectedMethodDeclaration()

virtual void PAbstractTraitBackend::protectedMethodDeclaration ( std::ofstream & fs,
const PClassConfig & classConfig,
const GeneratorMode & mode ) const
inlinevirtualinherited

◆ protectedMethodImplementation()

virtual void PAbstractTraitBackend::protectedMethodImplementation ( std::ofstream & fs,
const PClassConfig & classConfig,
const GeneratorMode & mode ) const
inlinevirtualinherited

◆ publicMethodDeclaration()

void CppTraitGetter::publicMethodDeclaration ( std::ofstream & fs,
const PClassConfig & classConfig,
const GeneratorMode & mode ) const
virtual

Declaration of methods.

Parameters
[out]fs: file to be completed
classConfig: PClassConfig to be used
mode: mode of the generator

Reimplemented from PAbstractTraitBackend.

Definition at line 39 of file CppTraitGetter.cpp.

39 {
40 if(!mode.enableGetter || classConfig.getIsEnum()){return;}
41 const PVecClassAttribute & vecAttr(classConfig.getListAttribute());
42 for(PVecClassAttribute::const_iterator it(vecAttr.begin()); it != vecAttr.end(); ++it){
43 fs << "\t\t" << getter_createGetterDecl(it->getType(), it->getName(), "", true, it->getIsPointer()) << " const;" << std::endl;
44 fs << "\t\t" << getter_createGetterDecl(it->getType(), it->getName(), "", false, it->getIsPointer()) << ";" << std::endl;
45 }
46}
PString getter_createGetterDecl(const PString &varType, const PString &varName, const PString &className, bool isConst, bool isPtr)
Creates a function decl for setters.
std::vector< PClassAttribute > PVecClassAttribute
Definition PDataConfig.h:13
const std::vector< PClassAttribute > & getListAttribute() const
Returns the list of attributes of the class.
bool getIsEnum() const
Say if the current PClassConfig is an enum.
bool enableGetter
True to enable getters trait generator.

References GeneratorMode::enableGetter, PClassConfig::getIsEnum(), PClassConfig::getListAttribute(), and getter_createGetterDecl().

+ Here is the call graph for this function:

◆ publicMethodImplementation()

void CppTraitGetter::publicMethodImplementation ( std::ofstream & fs,
const PClassConfig & classConfig,
const GeneratorMode & mode ) const
virtual

Implementation of methods.

Parameters
[out]fs: file to be completed
classConfig: PClassConfig to be used
mode: mode of the generator

Reimplemented from PAbstractTraitBackend.

Definition at line 53 of file CppTraitGetter.cpp.

53 {
54 if(!mode.enableGetter || classConfig.getIsEnum()){return;}
55 const PVecClassAttribute & vecAttr(classConfig.getListAttribute());
56 for(PVecClassAttribute::const_iterator it(vecAttr.begin()); it != vecAttr.end(); ++it){
57 fs << "///Gets the " << it->getName() << " of the " << classConfig.getName() << std::endl;
58 fs << "/**\t@return " << it->getName() << " of the " << classConfig.getName() << std::endl;
59 fs << "*/" << std::endl;
60 fs << mode.templateDeclaration;
61 fs << getter_createGetterDecl(it->getType(), it->getName(), classConfig.getName() + mode.defTemplate, true, it->getIsPointer()) << " const{" << std::endl;
62 fs << "\treturn p_" << it->getName() << ";" << std::endl;
63 fs << "}" << std::endl << std::endl;
64 fs << "///Gets the " << it->getName() << " of the " << classConfig.getName() << std::endl;
65 fs << "/**\t@return " << it->getName() << " of the " << classConfig.getName() << std::endl;
66 fs << "*/" << std::endl;
67 fs << mode.templateDeclaration;
68 fs << getter_createGetterDecl(it->getType(), it->getName(), classConfig.getName() + mode.defTemplate, false, it->getIsPointer()) << "{" << std::endl;
69 fs << "\treturn p_" << it->getName() << ";" << std::endl;
70 fs << "}" << std::endl << std::endl;
71 }
72}
const PString & getName() const
Returns the class name.
PString defTemplate
Template definition for the class header.
PString templateDeclaration
Template declaration of the method implementation.

References GeneratorMode::defTemplate, GeneratorMode::enableGetter, PClassConfig::getIsEnum(), PClassConfig::getListAttribute(), PClassConfig::getName(), getter_createGetterDecl(), and GeneratorMode::templateDeclaration.

+ Here is the call graph for this function:

◆ testCallFunction()

virtual void PAbstractTraitBackend::testCallFunction ( std::ofstream & fs,
const PClassConfig & classConfig,
const GeneratorMode & mode ) const
inlinevirtualinherited

Reimplemented in CppTraitCopy, CppTraitEmpty, CppTraitFromString, and CppTraitTypeStream.

Definition at line 37 of file PAbstractTraitBackend.h.

37{}

◆ testFunction()

virtual void PAbstractTraitBackend::testFunction ( std::ofstream & fs,
const PClassConfig & classConfig,
const GeneratorMode & mode ) const
inlinevirtualinherited

Reimplemented in CppTraitCopy, CppTraitEmpty, CppTraitFromString, and CppTraitTypeStream.

Definition at line 36 of file PAbstractTraitBackend.h.

36{}

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