1 #ifndef CPPAD_CG_MODEL_LIBRARY_C_SOURCE_GEN_INCLUDED 2 #define CPPAD_CG_MODEL_LIBRARY_C_SOURCE_GEN_INCLUDED 28 class ModelLibraryCSourceGen :
public JobTimer {
30 static const std::string FUNCTION_VERSION;
31 static const std::string FUNCTION_MODELS;
32 static const std::string FUNCTION_ONCLOSE;
33 static const std::string FUNCTION_SETTHREADPOOLDISABLED;
34 static const std::string FUNCTION_ISTHREADPOOLDISABLED;
35 static const std::string FUNCTION_SETTHREADS;
36 static const std::string FUNCTION_GETTHREADS;
37 static const std::string FUNCTION_SETTHREADSCHEDULERSTRAT;
38 static const std::string FUNCTION_GETTHREADSCHEDULERSTRAT;
39 static const std::string FUNCTION_SETTHREADPOOLVERBOSE;
40 static const std::string FUNCTION_ISTHREADPOOLVERBOSE;
41 static const std::string FUNCTION_SETTHREADPOOLGUIDEDMAXGROUPWORK;
42 static const std::string FUNCTION_GETTHREADPOOLGUIDEDMAXGROUPWORK;
43 static const std::string FUNCTION_SETTHREADPOOLNUMBEROFTIMEMEAS;
44 static const std::string FUNCTION_GETTHREADPOOLNUMBEROFTIMEMEAS;
45 static const unsigned long API_VERSION;
47 static const std::string CONST;
52 std::map<std::string, ModelCSourceGen<Base>*>
_models;
83 "Another model with the same name was already registered")
92 "Another model with the same name was already registered")
110 "Another model with the same name was already registered")
117 inline const std::map<std::string, ModelCSourceGen<Base>*>& getModels()
const {
121 void addCustomFunctionSource(
const std::string& filename,
const std::string& source) {
122 CPPADCG_ASSERT_KNOWN(!filename.empty(),
"The filename name cannot be empty")
168 void saveSources(
const std::string& sourcesFolder);
181 virtual void generateVersionSource(std::map<std::string, std::string>& sources);
183 virtual void generateModelsSource(std::map<std::string, std::string>& sources);
185 virtual void generateOnCloseSource(std::map<std::string, std::string>& sources);
187 virtual void generateThreadPoolSources(std::map<std::string, std::string>& sources);
189 static void saveSources(
const std::string& sourcesFolder,
190 const std::map<std::string, std::string>& sources);
virtual const std::map< std::string, std::string > & getLibrarySources()
void saveSources(const std::string &sourcesFolder)
MultiThreadingType _multiThreading
std::ostringstream _cache
std::map< std::string, ModelCSourceGen< Base > * > _models
ModelLibraryCSourceGen(ModelCSourceGen< Base > &model)
void setMultiThreading(MultiThreadingType multiThreading)
std::map< std::string, std::string > _libSources
const std::string & getName() const
MultiThreadingType getMultiThreading() const
const std::map< std::string, std::string > & getCustomSources() const
void addModel(ModelCSourceGen< Base > &model)
std::map< std::string, std::string > _customSource