Skip to content

Class zmbt::Environment::TypedInterfaceHandle

template <class Interface>

ClassList > zmbt > Environment > TypedInterfaceHandle

Environment API handler for specific interface.

  • #include <environment_interface_record.hpp>

Inherits the following classes: zmbt::Environment::InterfaceHandle

Public Functions

Type Name
return_t Hook (hookout_args_t args)
Hook the producing interface call to the environment.
return_t Hook (A &&... arg)
Hook the producing interface call to the environment.
TypedInterfaceHandle (interface_id const & interface, H const & refobj)
TypedInterfaceHandle (TypedInterfaceHandle const &) = default
TypedInterfaceHandle (TypedInterfaceHandle &&) = default
~TypedInterfaceHandle () = default

Public Functions inherited from zmbt::Environment::InterfaceHandle

See zmbt::Environment::InterfaceHandle

Type Name
boost::json::array CaptureSlice (boost::json::string_view signal_path, int start=0, int stop=-1, int const step=1)
boost::json::array const & Captures ()
Environment & Env () const
Environment of the interface handle.
boost::json::value GetInjection (boost::json::string_view group, boost::json::string_view jp, int const nofcall)
Injection at nofcall.
boost::json::value GetInjectionArgs (boost::json::string_view jp, std::size_t const nofcall=0)
Injection args subsignal at nofcall.
boost::json::value GetInjectionArgs (std::size_t const nofcall=0)
Injection args at nofcall.
boost::json::value GetInjectionReturn (boost::json::string_view jp, std::size_t const nofcall=0)
Injection return signal at nofcall.
boost::json::value GetInjectionReturn (std::size_t const nofcall=0)
Injection return signal at nofcall.
void Inject (Expression const & e, boost::json::string_view op, boost::json::string_view group, boost::json::string_view jp="")
Set injection return subsignal at nofcall.
void InjectArgs (Expression const & e, SignalOperatorHandler const & op, boost::json::string_view jp="")
Set injection args subsignal at nofcall.
void InjectArgs (Expression const & e, boost::json::string_view jp="")
Set injection args subsignal at nofcall.
void InjectReturn (Expression const & e, SignalOperatorHandler const & op, boost::json::string_view jp="")
Set injection return subsignal at nofcall.
void InjectReturn (Expression const & e, boost::json::string_view jp="")
Set injection return subsignal at nofcall.
InterfaceHandle (Environment const & e, interface_id const & interface, object_id refobj)
InterfaceHandle (Environment const & e, boost::json::string_view ref)
InterfaceHandle (interface_id const & interface, object_id refobj)
InterfaceHandle (interface_id const & interface, nullptr_t)
InterfaceHandle (boost::json::string_view ref)
InterfaceHandle (interface_id const & interface, H const & obj)
InterfaceHandle (InterfaceHandle const &) = default
InterfaceHandle (InterfaceHandle && o) = default
boost::json::array ObservedArgs (int const nofcall=-1)
Input arguments observed at nofcall.
std::size_t ObservedCalls () const
Number of interface calls.
boost::json::value ObservedReturn (int const nofcall=-1)
Observed return value at nofcall.
boost::json::value const & PrototypeArgs () const
boost::json::value const & PrototypeReturn () const
InterfaceHandle & RunAsAction ()
InterfaceHandle & RunAsTrigger (std::size_t const nofcall=0)
interface_id interface () const
boost::json::string const & key () const
InterfaceHandle & operator= (InterfaceHandle const &) = default
InterfaceHandle & operator= (InterfaceHandle &&) = default
object_id refobj () const
~InterfaceHandle () = default

Protected Attributes inherited from zmbt::Environment::InterfaceHandle

See zmbt::Environment::InterfaceHandle

Type Name
JsonNode captures
JsonNode injects

Public Functions Documentation

function Hook [1/2]

Hook the producing interface call to the environment.

inline return_t zmbt::Environment::TypedInterfaceHandle::Hook (
    hookout_args_t args
) 

Register input arguments, update the output reference arguments, increment call count and return corresponding env value

Parameters:

  • args

Returns:

return_t


function Hook [2/2]

Hook the producing interface call to the environment.

template<class... A>
inline return_t zmbt::Environment::TypedInterfaceHandle::Hook (
    A &&... arg
) 

Register input arguments, update the output reference arguments, increment call count and return corresponding env value

Template parameters:

  • A... compatible arg types

Parameters:

  • arg

Returns:

return_t


function TypedInterfaceHandle [1/3]

template<class H>
inline zmbt::Environment::TypedInterfaceHandle::TypedInterfaceHandle (
    interface_id const & interface,
    H const & refobj
) 

function TypedInterfaceHandle [2/3]

zmbt::Environment::TypedInterfaceHandle::TypedInterfaceHandle (
    TypedInterfaceHandle const &
) = default

function TypedInterfaceHandle [3/3]

zmbt::Environment::TypedInterfaceHandle::TypedInterfaceHandle (
    TypedInterfaceHandle &&
) = default

function ~TypedInterfaceHandle

zmbt::Environment::TypedInterfaceHandle::~TypedInterfaceHandle () = default


The documentation for this class was generated from the following file zmbt-framework/zmbt-framework/backends/cxx/include/zmbt/model/environment_interface_record.hpp