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

Classes

struct  NonType
 
struct  Instance
 
struct  Type
 

Functions

template<typename T >
std::string reflect (T const &value)
 
template<typename T >
Instance< T const > instance_of (T const &value)
 
template<typename T >
std::string reflect ()
 
template<typename T , T N>
std::string reflect ()
 
template<typename T >
std::string reflect (jitify::reflection::Type< T >)
 

Detailed Description

Jitify reflection utilities namespace

Function Documentation

◆ instance_of()

template<typename T >
Instance<T const> jitify::reflection::instance_of ( T const &  value)
inline

Create an Instance object from which we can extract the value's run-time type.

Parameters
valueThe const value to be captured.

References magic_enum::detail::value().

Here is the call graph for this function:

◆ reflect() [1/4]

template<typename T >
std::string jitify::reflection::reflect ( )
inline

Generate a code-string for a type.

reflect<float>() --> "float"

Generate a code-string for an integer non-type template argument.

reflect<7>() --> "7_s64"

◆ reflect() [2/4]

template<typename T , T N>
std::string jitify::reflection::reflect ( )
inline

Generate a code-string for a generic non-type template argument.

reflect<int,7>() --> "(int)7"

◆ reflect() [3/4]

template<typename T >
std::string jitify::reflection::reflect ( jitify::reflection::Type< T >  )
inline

Generate a code-string for a type wrapped as a Type instance.

reflect(Type<float>()) --> "float"

◆ reflect() [4/4]

template<typename T >
std::string jitify::reflection::reflect ( T const &  value)
inline

Generate a code-string for a value.

reflect(3.14f) --> "(float)3.14"

References magic_enum::detail::value().

Referenced by jitify::Kernel::instantiate(), and jitify::experimental::Kernel::instantiate().

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