|
CIRCT 24.0.0git
|
#include <TypedPorts.h>


Public Member Functions | |
| TypedFunction (services::FuncService::Function *func) | |
| Implicit conversion from Function* (returned by getAs<>()). | |
| TypedFunction (const TypedFunction &)=delete | |
| TypedFunction & | operator= (const TypedFunction &)=delete |
| void | connect () |
| std::future< ResultT > | call (const ArgT &arg) |
| template<typename First, typename... Rest, typename = std::enable_if_t< std::is_constructible_v<ArgT, First, Rest...> && (!std::is_same_v<std::decay_t<First>, ArgT> || sizeof...(Rest) != 0)>> | |
| std::future< ResultT > | call (First &&first, Rest &&...rest) |
| Emplace-style call: constructs ArgT in-place from the forwarded arguments and forwards to call(const ArgT &). | |
| template<typename... Args> | |
| auto | operator() (Args &&...args) -> decltype(this->call(std::forward< Args >(args)...)) |
| Function-call operator overloads: forward to call(). | |
| services::FuncService::Function & | raw () |
| const services::FuncService::Function & | raw () const |
Private Attributes | |
| services::FuncService::Function * | inner |
| std::optional< TypedWritePort< ArgT, SkipTypeCheck > > | argPort |
| std::optional< TypedReadPort< ResultT, SkipTypeCheck > > | resultPort |
| std::mutex | callMutex |
Definition at line 1031 of file TypedPorts.h.
|
inline |
Implicit conversion from Function* (returned by getAs<>()).
Definition at line 1035 of file TypedPorts.h.
References inner.
Referenced by operator=(), and TypedFunction().
|
delete |
References TypedFunction().
|
inline |
Definition at line 1051 of file TypedPorts.h.
References argPort, esi::detail::awaitDecoded(), callMutex, resultPort, and esi::detail::throwNotConnected().
Referenced by esiaccel.types.FunctionPort::__call__(), call(), esi::TypedFunction< ArgT, void, SkipTypeCheck >::call(), operator()(), esi::TypedFunction< ArgT, void, SkipTypeCheck >::operator()(), esi::TypedFunction< void, ResultT, SkipTypeCheck >::operator()(), esi::TypedFunction< void, void, SkipTypeCheck >::operator()(), runOddStructFunc(), runSInt4Loopback(), and runStructFunc().
|
inline |
Emplace-style call: constructs ArgT in-place from the forwarded arguments and forwards to call(const ArgT &).
SFINAE-disabled for the single-ArgT-argument case so it does not shadow the lvalue overload.
Definition at line 1072 of file TypedPorts.h.
References call().
Referenced by esiaccel.types.FunctionPort::__call__().
|
inline |
Definition at line 1039 of file TypedPorts.h.
References argPort, inner, resultPort, esi::detail::throwAlreadyConnected(), esi::detail::throwNullFunction(), and esi::detail::typedFunctionConnectOptions().
Referenced by runOddStructFunc(), runSInt4Loopback(), and runStructFunc().
|
inline |
Function-call operator overloads: forward to call().
Definition at line 1078 of file TypedPorts.h.
References call().
|
delete |
References TypedFunction().
|
inline |
Definition at line 1083 of file TypedPorts.h.
References inner.
|
inline |
Definition at line 1084 of file TypedPorts.h.
References inner.
|
private |
Definition at line 1088 of file TypedPorts.h.
|
private |
Definition at line 1090 of file TypedPorts.h.
Referenced by call().
|
private |
Definition at line 1087 of file TypedPorts.h.
Referenced by connect(), raw(), raw(), and TypedFunction().
|
private |
Definition at line 1089 of file TypedPorts.h.