PhoenixGenerator  3.4.0
Generate code from template files and projects in C++, Rust, Python and wrapped C++ to Python
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 28 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 33 of file CppTraitGetter.cpp.

33{}

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 40 of file CppTraitGetter.cpp.

40 {
41 if(!mode.enableGetter || classConfig.getIsEnum()){return;}
42 const PVecClassAttribute & vecAttr(classConfig.getListAttribute());
43 for(PVecClassAttribute::const_iterator it(vecAttr.begin()); it != vecAttr.end(); ++it){
44 fs << "\t\t" << getter_createGetterDecl(it->getType(), it->getName(), "", true, getIsPointerType(it->getType())) << " const;" << std::endl;
45 fs << "\t\t" << getter_createGetterDecl(it->getType(), it->getName(), "", false, getIsPointerType(it->getType())) << ";" << std::endl;
46 }
47}
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.
bool getIsPointerType(const PString &varType)
Say if a given type is a pointer type (i.e. it ends with a '*').

References GeneratorMode::enableGetter, PClassConfig::getIsEnum(), getIsPointerType(), 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 54 of file CppTraitGetter.cpp.

54 {
55 if(!mode.enableGetter || classConfig.getIsEnum()){return;}
56 const PVecClassAttribute & vecAttr(classConfig.getListAttribute());
57 for(PVecClassAttribute::const_iterator it(vecAttr.begin()); it != vecAttr.end(); ++it){
58 fs << "///Gets the " << it->getName() << " of the " << classConfig.getName() << std::endl;
59 fs << "/**\t@return " << it->getName() << " of the " << classConfig.getName() << std::endl;
60 fs << "*/" << std::endl;
61 fs << mode.templateDeclaration;
62 bool isPtr(getIsPointerType(it->getType()));
63 PString returnExpr("p_" + it->getName());
64 fs << getter_createGetterDecl(it->getType(), it->getName(), classConfig.getName() + mode.defTemplate, true, isPtr) << " const{" << std::endl;
65 fs << "\treturn " << returnExpr << ";" << std::endl;
66 fs << "}" << std::endl << std::endl;
67 fs << "///Gets the " << it->getName() << " of the " << classConfig.getName() << std::endl;
68 fs << "/**\t@return " << it->getName() << " of the " << classConfig.getName() << std::endl;
69 fs << "*/" << std::endl;
70 fs << mode.templateDeclaration;
71 fs << getter_createGetterDecl(it->getType(), it->getName(), classConfig.getName() + mode.defTemplate, false, isPtr) << "{" << std::endl;
72 fs << "\treturn " << returnExpr << ";" << std::endl;
73 fs << "}" << std::endl << std::endl;
74 }
75}
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(), getIsPointerType(), 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 38 of file PAbstractTraitBackend.h.

38{}

◆ 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 37 of file PAbstractTraitBackend.h.

37{}

The documentation for this class was generated from the following files:
  • /builds/CTA-LAPP/PHOENIX_LIBS2/code-generator/PhoenixGenerator/src/TraitBackEnd/CPP/CppTraitGetter/CppTraitGetter.h
  • /builds/CTA-LAPP/PHOENIX_LIBS2/code-generator/PhoenixGenerator/src/TraitBackEnd/CPP/CppTraitGetter/CppTraitGetter.cpp