|
CIRCT 24.0.0git
|
Partial specialization: typed argument, void result. More...
#include <TypedPorts.h>

Public Member Functions | |
| TypedFunction (services::FuncService::Function *func) | |
| TypedFunction (const TypedFunction &)=delete | |
| TypedFunction & | operator= (const TypedFunction &)=delete |
| void | connect () |
| std::future< void > | 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< void > | 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< void > > | resultPort |
| std::mutex | callMutex |
Partial specialization: typed argument, void result.
Definition at line 1122 of file TypedPorts.h.
|
inline |
Definition at line 1125 of file TypedPorts.h.
|
delete |
|
inline |
Definition at line 1141 of file TypedPorts.h.
References esi::TypedFunction< ArgT, ResultT, SkipTypeCheck >::argPort, esi::TypedFunction< ArgT, ResultT, SkipTypeCheck >::callMutex, esi::TypedFunction< ArgT, ResultT, SkipTypeCheck >::resultPort, and esi::detail::throwNotConnected().
Referenced by esiaccel.types.FunctionPort::__call__().
|
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 1157 of file TypedPorts.h.
References esi::TypedFunction< ArgT, ResultT, SkipTypeCheck >::call().
Referenced by esiaccel.types.FunctionPort::__call__().
|
inline |
Definition at line 1129 of file TypedPorts.h.
References esi::TypedFunction< ArgT, ResultT, SkipTypeCheck >::argPort, esi::BundlePort::getRawRead(), esi::BundlePort::getRawWrite(), esi::TypedFunction< ArgT, ResultT, SkipTypeCheck >::inner, esi::TypedFunction< ArgT, ResultT, SkipTypeCheck >::resultPort, esi::detail::throwAlreadyConnected(), esi::detail::throwNullFunction(), and esi::detail::typedFunctionConnectOptions().
|
inline |
Function-call operator overloads: forward to call().
Definition at line 1163 of file TypedPorts.h.
References esi::TypedFunction< ArgT, ResultT, SkipTypeCheck >::call().
|
delete |
|
inline |
Definition at line 1168 of file TypedPorts.h.
References esi::TypedFunction< ArgT, ResultT, SkipTypeCheck >::inner.
|
inline |
Definition at line 1169 of file TypedPorts.h.
References esi::TypedFunction< ArgT, ResultT, SkipTypeCheck >::inner.
|
private |
Definition at line 1173 of file TypedPorts.h.
|
private |
Definition at line 1175 of file TypedPorts.h.
|
private |
Definition at line 1172 of file TypedPorts.h.
|
private |
Definition at line 1174 of file TypedPorts.h.