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

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...

#include <CompilationRequest.hpp>

Public Member Functions

 CompilationRequest (std::unique_ptr< SourceCode > sourceCode, std::string name, bool profileCompilation, bool profileExecution, bool optimizeCompilation, bool debug, std::vector< std::shared_ptr< ExternalAPI >> externalApis={})
 Creates a new @CompilationRequest. More...
 
bool operator== (const CompilationRequest &rhs) const
 
bool operator!= (const CompilationRequest &rhs) const
 
const std::shared_ptr< SourceCodegetSourceCode () const
 Returns the source code artifact. More...
 
bool enableDebugging () const
 Indicates if debugging should be enabled. More...
 
bool enableOptimizations () const
 Indicates if optimizations should be enabled. More...
 
bool enableCompilationProfiling () const
 Indicates if the compilation process should be profiled. More...
 
bool enableExecutionProfiling () const
 Indicates if the execution should be profiled. More...
 
std::string getName () const
 Returns the identifier. More...
 
std::vector< std::shared_ptr< ExternalAPI > > getExternalAPIs () const
 Returns the external APIs. More...
 

Static Public Member Functions

static std::shared_ptr< CompilationRequestcreate (std::unique_ptr< SourceCode > sourceCode, std::string name, bool profileCompilation, bool profileExecution, bool optimizeCompilation, bool debug, std::vector< std::shared_ptr< ExternalAPI >> externalApis={})
 Creates a new @CompilationRequest. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ CompilationRequest()

NES::Compiler::CompilationRequest::CompilationRequest ( std::unique_ptr< SourceCode sourceCode,
std::string  name,
bool  profileCompilation,
bool  profileExecution,
bool  optimizeCompilation,
bool  debug,
std::vector< std::shared_ptr< ExternalAPI >>  externalApis = {} 
)

Creates a new @CompilationRequest.

Parameters
sourceCodeThe source code artifact that should be compiled
namethe identifier of this request
profileCompilationenables profiling for the compilation
profileExecutionenables profiling for the execution
optimizeCompilationenables optimizations
debugenables debug options
externalApisa vector of external APIs to add to the compilation process (empty by default)
Returns
std::unique_ptr<CompilationRequest>

Member Function Documentation

◆ create()

std::shared_ptr< CompilationRequest > NES::Compiler::CompilationRequest::create ( std::unique_ptr< SourceCode sourceCode,
std::string  name,
bool  profileCompilation,
bool  profileExecution,
bool  optimizeCompilation,
bool  debug,
std::vector< std::shared_ptr< ExternalAPI >>  externalApis = {} 
)
static

Creates a new @CompilationRequest.

Parameters
sourceCodeThe source code artifact that should be compiled
namethe identifier of this request
profileCompilationenables profiling for the compilation
profileExecutionenables profiling for the execution
optimizeCompilationenables optimizations
debugenables debug options
externalApisa vector of external APIs to add to the compilation process (empty by default)
Returns
std::unique_ptr<CompilationRequest>

References backward::details::move(), and time.

Referenced by NES::QueryParsingService::createQueryFromCodeString(), NES::QueryParsingService::createSchemaFromCode(), and NES::Compiler::TEST_F().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ enableCompilationProfiling()

bool NES::Compiler::CompilationRequest::enableCompilationProfiling ( ) const

Indicates if the compilation process should be profiled.

Returns
profile compilation flag

◆ enableDebugging()

bool NES::Compiler::CompilationRequest::enableDebugging ( ) const

Indicates if debugging should be enabled.

Returns
debug flag

◆ enableExecutionProfiling()

bool NES::Compiler::CompilationRequest::enableExecutionProfiling ( ) const

Indicates if the execution should be profiled.

Returns
profile compilation flag

◆ enableOptimizations()

bool NES::Compiler::CompilationRequest::enableOptimizations ( ) const

Indicates if optimizations should be enabled.

Returns
optimization flag

◆ getExternalAPIs()

std::vector< std::shared_ptr< ExternalAPI > > NES::Compiler::CompilationRequest::getExternalAPIs ( ) const

Returns the external APIs.

Returns
std::vector<std::shared_ptr<ExternalAPI>>

◆ getName()

std::string NES::Compiler::CompilationRequest::getName ( ) const

Returns the identifier.

Returns
name

◆ getSourceCode()

const std::shared_ptr< SourceCode > NES::Compiler::CompilationRequest::getSourceCode ( ) const

Returns the source code artifact.

Returns
@SourceCode

◆ operator!=()

bool NES::Compiler::CompilationRequest::operator!= ( const CompilationRequest rhs) const

◆ operator==()

bool NES::Compiler::CompilationRequest::operator== ( const CompilationRequest rhs) const

The documentation for this class was generated from the following files: