PhoenixGenerator  2.2.0
Set of tools to generate code
Loading...
Searching...
No Matches
PNanobindTraitBackendManager.h
Go to the documentation of this file.
1/***************************************
2 Auteur : Thibaut Oprinsen
3 Mail : thibaut.oprinsen@lapp.in2p3.fr
4 Licence : CeCILL-C
5****************************************/
6
7#ifndef __PNANOBIND_WRAPPER_TRAIT_BACKEND_MANAGER_H__
8#define __PNANOBIND_WRAPPER_TRAIT_BACKEND_MANAGER_H__
9
10#include <set>
12
13typedef std::vector<PAbstractNanobindTraitBackend*> PVecNanobindTraitBackend;
14
17 public:
20
22 template<class Backend>
24 p_vecTrait.push_back(new Backend);
25 }
26
27 virtual void headerExtraInclude(std::set<std::string> & setInclude, const PClassConfig & classConfig, const GeneratorMode & mode) const;
28 virtual void headerTestInclude(std::ofstream & fs, const GeneratorMode & mode, const PString & baseFileName) const;
29
30 virtual void registerProperty(std::ofstream & fs, const PClassConfig & classConfig, const GeneratorMode & mode) const;
31 virtual void registerConstructor(std::ofstream & fs, const PClassConfig & classConfig, const GeneratorMode & mode) const;
32 virtual void registerStaticMethod(std::ofstream & fs, const PClassConfig & classConfig, const GeneratorMode & mode) const;
33 virtual void registerMethod(std::ofstream & fs, const PClassConfig & classConfig, const GeneratorMode & mode) const;
34
35 virtual void testFunction(std::ofstream & fs, const PClassConfig & classConfig, const GeneratorMode & mode, const PString & baseFileName) const;
36 virtual void testCallFunction(std::ofstream & fs, const PClassConfig & classConfig, const GeneratorMode & mode) const;
37 void clear();
38
39 private:
41
46};
47
48
49
50#endif
51
std::vector< PAbstractNanobindTraitBackend * > PVecNanobindTraitBackend
Class to describe a basic class.
virtual void headerTestInclude(std::ofstream &fs, const GeneratorMode &mode, const PString &baseFileName) const
Add extra include on the test header.
PVecNanobindTraitBackend p_vecTrait
Vector of the Trait backend.
PNanobindTraitBackendManager()
Default constructor of PNanobindTraitBackendManager.
void initialisationPNanobindTraitBackendManager()
Initialisation function of the class PNanobindTraitBackendManager.
void clear()
Clear the PNanobindTraitBackendManager.
virtual void registerStaticMethod(std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
Registration of static method.
bool isLastDef
True if the property or function is the last one to be declared.
virtual void headerExtraInclude(std::set< std::string > &setInclude, const PClassConfig &classConfig, const GeneratorMode &mode) const
Add extra include on the header.
virtual ~PNanobindTraitBackendManager()
Destructor of PNanobindTraitBackendManager.
virtual void registerProperty(std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
Registration of property.
virtual void testCallFunction(std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
Call of the test function.
virtual void testFunction(std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode, const PString &baseFileName) const
Implementation of test function.
virtual void registerMethod(std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
Registration of method.
void addTraitBackend()
Add a trait backend into the PTraitBackendManager.
virtual void registerConstructor(std::ofstream &fs, const PClassConfig &classConfig, const GeneratorMode &mode) const
Registration of constructor.
All the genertor modes.