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

Represents a dynamic object, which enables the invocation of dynamically defined methods. More...

#include <DynamicObject.hpp>

Public Member Functions

template<typename Function >
Function getInvocableMember (const std::string &member)
 Returns an invocable member of the shared object and cast its to the provided template. More...
 
virtual ~DynamicObject ()=default
 Destructor. More...
 

Protected Member Functions

virtual void * getInvocableFunctionPtr (const std::string &member)=0
 Returns a untyped function pointer to a specific symbol. More...
 

Detailed Description

Represents a dynamic object, which enables the invocation of dynamically defined methods.

Constructor & Destructor Documentation

◆ ~DynamicObject()

virtual NES::Compiler::DynamicObject::~DynamicObject ( )
virtualdefault

Destructor.

Member Function Documentation

◆ getInvocableFunctionPtr()

virtual void* NES::Compiler::DynamicObject::getInvocableFunctionPtr ( const std::string &  member)
protectedpure virtual

Returns a untyped function pointer to a specific symbol.

Parameters
memberon the dynamic object, currently provided as a MangledName.
Returns
function ptr

Implemented in NES::Compiler::SharedLibrary.

Referenced by getInvocableMember().

Here is the caller graph for this function:

◆ getInvocableMember()

template<typename Function >
Function NES::Compiler::DynamicObject::getInvocableMember ( const std::string &  member)
inline

Returns an invocable member of the shared object and cast its to the provided template.

Template Parameters
Function
Parameters
memberon the dynamic object, currently provided as a MangledName. #TODO #2073 look up mangled name dynamically.
Returns
Function

References getInvocableFunctionPtr().

Here is the call graph for this function:

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