NebulaStream
0.6.213
NebulaStream is a data and application management framework for the internet of things
|
A @LanguageCompiler for C++. Relies on clang++ for compilation. More...
#include <CPPCompiler.hpp>
Public Member Functions | |
CPPCompiler () | |
~CPPCompiler () noexcept | |
CompilationResult | compile (std::shared_ptr< const CompilationRequest > request) const override |
Handles a compilation request. Implementations have to be thread safe. More... | |
Language | getLanguage () const override |
Returns the language for, which this compiler can handle compilation requests. More... | |
![]() | |
virtual | ~LanguageCompiler ()=default |
Destructor for the language compiler. More... | |
Static Public Member Functions | |
static std::shared_ptr< LanguageCompiler > | create () |
Creates a new instance of the cpp compiler. More... | |
A @LanguageCompiler for C++. Relies on clang++ for compilation.
NES::Compiler::CPPCompiler::CPPCompiler | ( | ) |
|
noexcept |
References NES_DEBUG.
|
overridevirtual |
Handles a compilation request. Implementations have to be thread safe.
request | CompilationRequest |
Implements NES::Compiler::LanguageCompiler.
References NES::Compiler::CPPCompilerFlags::addDefaultCompilerFlags(), NES::Compiler::CompilerFlags::addFlag(), NES::Compiler::CPPCompilerFlags::addSharedLibraryFlag(), NES::Compiler::ExecutablePath::RuntimePathConfig::clangBinaryPath, NES::Compiler::File::createFile(), NES::Compiler::CPPCompilerFlags::enableDebugFlags(), NES::Compiler::CPPCompilerFlags::enableOptimizationFlags(), NES::Compiler::CPPCompilerFlags::enableProfilingFlags(), NES::Compiler::CompilerFlags::getFlags(), NES::Logger::getInstance(), NES::getLogLevel(), NES::Timer< TimeUnit, PrintTimeUnit, PrintTimePrecision, ClockType >::getRuntime(), NES::Compiler::ExecutablePath::RuntimePathConfig::includePaths, NES::Compiler::ExecutablePath::RuntimePathConfig::libPaths, NES::Compiler::ExecutablePath::RuntimePathConfig::libs, NES::Compiler::SharedLibrary::load(), NES::Compiler::CompilerFlags::mergeFlags(), backward::details::move(), NES_ASSERT2_FMT, NES_DEBUG, NES_ERROR, NES_INFO, NES::Timer< TimeUnit, PrintTimeUnit, PrintTimePrecision, ClockType >::pause(), and NES::Timer< TimeUnit, PrintTimeUnit, PrintTimePrecision, ClockType >::start().
|
static |
Creates a new instance of the cpp compiler.
Referenced by NES::TestUtils::createTestQueryCompiler(), NES::NesCoordinator::NesCoordinator(), NES::Compiler::CompilationCacheTest::SetUp(), NES::Compiler::JITCompilerTest::SetUp(), NES::ExpressionNodeTest::SetUp(), NES::LogicalExpressionTest::SetUp(), NES::SemanticQueryValidationTest::SetUp(), NES::SyntacticQueryValidationTest::SetUp(), and QueryCatalogTest::SetUp().
|
overridevirtual |
Returns the language for, which this compiler can handle compilation requests.
Implements NES::Compiler::LanguageCompiler.
References NES::Compiler::CPP.