Skip to content
Snippets Groups Projects
Commit a37e6a09 authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Add 'utils' module

It provides getPugsVersion() and getPugsBuildInfo() functions which
return string
parent da3f95d5
No related branches found
No related tags found
1 merge request!66Feature/reduced verbosity
......@@ -7,6 +7,7 @@ add_library(PugsLanguageModules
MeshModule.cpp
ModuleRepository.cpp
SchemeModule.cpp
UtilsModule.cpp
VTKModule.cpp
)
......
......@@ -5,6 +5,7 @@
#include <language/modules/MathModule.hpp>
#include <language/modules/MeshModule.hpp>
#include <language/modules/SchemeModule.hpp>
#include <language/modules/UtilsModule.hpp>
#include <language/modules/VTKModule.hpp>
#include <language/utils/BuiltinFunctionEmbedder.hpp>
#include <language/utils/ParseError.hpp>
......@@ -20,11 +21,12 @@ ModuleRepository::_subscribe(std::unique_ptr<IModule> m)
ModuleRepository::ModuleRepository()
{
this->_subscribe(std::make_unique<LinearSolverModule>());
this->_subscribe(std::make_unique<MathModule>());
this->_subscribe(std::make_unique<MeshModule>());
this->_subscribe(std::make_unique<VTKModule>());
this->_subscribe(std::make_unique<SchemeModule>());
this->_subscribe(std::make_unique<LinearSolverModule>());
this->_subscribe(std::make_unique<UtilsModule>());
this->_subscribe(std::make_unique<VTKModule>());
}
template <typename NameEmbedderMapT, typename EmbedderTableT>
......
#include <language/modules/UtilsModule.hpp>
#include <language/utils/BuiltinFunctionEmbedder.hpp>
#include <utils/PugsUtils.hpp>
UtilsModule::UtilsModule()
{
this->_addBuiltinFunction("getPugsVersion", std::make_shared<BuiltinFunctionEmbedder<std::string(void)>>(
[]() -> std::string { return pugsVersion(); }
));
this->_addBuiltinFunction("getPugsBuildInfo", std::make_shared<BuiltinFunctionEmbedder<std::string(void)>>(
[]() -> std::string { return pugsBuildInfo(); }
));
}
#ifndef UTILS_MODULE_HPP
#define UTILS_MODULE_HPP
#include <language/modules/BuiltinModule.hpp>
class UtilsModule : public BuiltinModule
{
public:
std::string_view
name() const final
{
return "utils";
}
UtilsModule();
~UtilsModule() = default;
};
#endif // UTILS_MODULE_HPP
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment