NebulaStream  0.6.213
NebulaStream is a data and application management framework for the internet of things
NES::Compiler Namespace Reference

Namespaces

 ExecutablePath
 

Classes

class  CompilationCache
 
class  CompilationRequest
 Represents a request to compile a specific source code artifact. A compilation request consists of a unique identifier, a source code artifact and a set of compilation options. More...
 
class  CompilationResult
 Result for a specific @CompilationRequest. Contains a reference to the @DynmaicObject created by the compiler. More...
 
class  CompilerFlags
 This class abstracts the collection of compiler flags. Each collected flag is unique. Flags can be added, retrieved and two sets of CompilerFlags can also be merged. More...
 
class  CPPCompiler
 A @LanguageCompiler for C++. Relies on clang++ for compilation. More...
 
class  CPPCompilerFlags
 Represents compilation flags available to the C++ compiler. More...
 
class  CUDAPlatform
 This class specifies the compiler flags for the CUDA platform. Note that the compiler flags are only viable for clang. More...
 
class  DynamicObject
 Represents a dynamic object, which enables the invocation of dynamically defined methods. More...
 
class  CompilerException
 Represents an wrapper for all compilation related exceptions. More...
 
class  ExternalAPI
 A class which inherits from ExternalAPI can be passed to a CompilationRequest to augment the call to the compiler command with flags that are necessary for the correct compiling and linking of a third-party library. More...
 
class  JITCompiler
 The JIT compiler handles compilation requests and dispatches them to the right language compiler implementation. More...
 
class  JITCompilerBuilder
 Builder for a new JIT compiler. More...
 
class  LanguageCompiler
 Abstract class for a language specific compiler. A language specific compiler, receives compilation requests and returns compilation results. All methods are expected to be thread safe. More...
 
class  SourceCode
 Represents a source code artifact. Usually generated by a code generator. More...
 
class  ClangFormat
 Utility, which leverages clang format to. More...
 
class  File
 Represents for a file at a specific path. More...
 
class  SharedLibrary
 Represents a @DynamicObject, which relies on a shared library. More...
 
class  CompilationCacheTest
 
class  JITCompilerTest
 

Typedefs

using CompilationCachePtr = std::shared_ptr< CompilationCache >
 
using SharedLibraryPtr = std::shared_ptr< SharedLibrary >
 

Enumerations

enum class  Language { CPP }
 An enum for representing the target programming language of a SourceCode object. More...
 

Functions

std::string getLanguageAsString (Language language)
 Returns the language of this source code. More...
 
 TEST_F (CompilationCacheTest, cacheSource)
 This test compiles a test CPP File. More...
 
 TEST_F (JITCompilerTest, compileCppCode)
 This test compiles a test CPP File. More...
 

Variables

const std::string NESCoreIncludePath = PATH_TO_NES_SOURCE_CODE "/nes-core/include/"
 
const std::string NESCommonIncludePath = PATH_TO_NES_SOURCE_CODE "/nes-common/include/"
 
const std::string DEBSIncludePath = PATH_TO_DEB_SOURCE_CODE "/include/"
 

Typedef Documentation

◆ CompilationCachePtr

using NES::Compiler::CompilationCachePtr = typedef std::shared_ptr<CompilationCache>

◆ SharedLibraryPtr

using NES::Compiler::SharedLibraryPtr = typedef std::shared_ptr<SharedLibrary>

Enumeration Type Documentation

◆ Language

An enum for representing the target programming language of a SourceCode object.

Enumerator
CPP 

Function Documentation

◆ getLanguageAsString()

std::string NES::Compiler::getLanguageAsString ( Language  language)
inline

Returns the language of this source code.

Returns
Language

References CPP.

Referenced by std::hash< const NES::Compiler::SourceCode >::operator()(), and NES::Compiler::JITCompilerBuilder::registerLanguageCompiler().

Here is the caller graph for this function:

◆ TEST_F() [1/2]

NES::Compiler::TEST_F ( CompilationCacheTest  ,
cacheSource   
)

This test compiles a test CPP File.

References NES::Compiler::CompilationCache::contains(), CPP, and NES::Compiler::CompilationCache::insert().

Here is the call graph for this function:

◆ TEST_F() [2/2]

NES::Compiler::TEST_F ( JITCompilerTest  ,
compileCppCode   
)

This test compiles a test CPP File.

References CPP, NES::Compiler::CompilationRequest::create(), backward::details::move(), and NES_DEBUG.

Here is the call graph for this function:

Variable Documentation

◆ DEBSIncludePath

const std::string NES::Compiler::DEBSIncludePath = PATH_TO_DEB_SOURCE_CODE "/include/"

◆ NESCommonIncludePath

const std::string NES::Compiler::NESCommonIncludePath = PATH_TO_NES_SOURCE_CODE "/nes-common/include/"

◆ NESCoreIncludePath

const std::string NES::Compiler::NESCoreIncludePath = PATH_TO_NES_SOURCE_CODE "/nes-core/include/"