template<typename funcT, typename returnT, bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT, typename output_terminalsT, typename... input_valuesT>
class CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >
Definition at line 16 of file make_tt.h.
|
template<typename funcT_ > |
| CallableWrapTT (funcT_ &&f, const input_edges_type &inedges, const typename baseT::output_edges_type &outedges, const std::string &name, const std::vector< std::string > &innames, const std::vector< std::string > &outnames) |
|
template<typename funcT_ > |
| CallableWrapTT (funcT_ &&f, const std::string &name, const std::vector< std::string > &innames, const std::vector< std::string > &outnames) |
|
template<typename Key , typename ArgsTuple > |
std::enable_if_t< std::is_same_v< ArgsTuple, input_refs_tuple_type > &&!ttg::meta::is_empty_tuple_v< input_refs_tuple_type > &&!ttg::meta::is_void_v< Key >, op_return_type > | op (Key &&key, ArgsTuple &&args_tuple, output_terminalsT &out) |
|
template<typename ArgsTuple , typename Key = keyT> |
std::enable_if_t< std::is_same_v< ArgsTuple, input_refs_tuple_type > &&!ttg::meta::is_empty_tuple_v< input_refs_tuple_type > &&ttg::meta::is_void_v< Key >, op_return_type > | op (ArgsTuple &&args_tuple, output_terminalsT &out) |
|
template<typename Key , typename ArgsTuple = input_refs_tuple_type> |
std::enable_if_t< ttg::meta::is_empty_tuple_v< ArgsTuple > &&!ttg::meta::is_void_v< Key >, op_return_type > | op (Key &&key, output_terminalsT &out) |
|
template<typename Key = keyT, typename ArgsTuple = input_refs_tuple_type> |
std::enable_if_t< ttg::meta::is_empty_tuple_v< ArgsTuple > &&ttg::meta::is_void_v< Key >, op_return_type > | op (output_terminalsT &out) |
|
|
template<typename ReturnT > |
auto | process_return (ReturnT &&ret, output_terminalsT &out) |
|
template<typename Key , typename Tuple , std::size_t... S> |
auto | call_func (Key &&key, Tuple &&args_tuple, output_terminalsT &out, std::index_sequence< S... >) |
|
template<typename Tuple , std::size_t... S> |
auto | call_func (Tuple &&args_tuple, output_terminalsT &out, std::index_sequence< S... >) |
|
template<typename Key > |
auto | call_func (Key &&key, output_terminalsT &out) |
|
template<typename OutputTerminals > |
auto | call_func (OutputTerminals &out) |
|
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
template<typename funcT_ >
CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::CallableWrapTT |
( |
funcT_ && |
f, |
|
|
const input_edges_type & |
inedges, |
|
|
const typename baseT::output_edges_type & |
outedges, |
|
|
const std::string & |
name, |
|
|
const std::vector< std::string > & |
innames, |
|
|
const std::vector< std::string > & |
outnames |
|
) |
| |
|
inline |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
template<typename funcT_ >
CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::CallableWrapTT |
( |
funcT_ && |
f, |
|
|
const std::string & |
name, |
|
|
const std::vector< std::string > & |
innames, |
|
|
const std::vector< std::string > & |
outnames |
|
) |
| |
|
inline |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
template<typename Key >
auto CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::call_func |
( |
Key && |
key, |
|
|
output_terminalsT & |
out |
|
) |
| |
|
inlineprotected |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
template<typename Key , typename Tuple , std::size_t... S>
auto CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::call_func |
( |
Key && |
key, |
|
|
Tuple && |
args_tuple, |
|
|
output_terminalsT & |
out, |
|
|
std::index_sequence< S... > |
|
|
) |
| |
|
inlineprotected |
- Returns
- coroutine handle<> (if funcT is a coroutine), else void
Definition at line 105 of file make_tt.h.
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
template<typename OutputTerminals >
auto CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::call_func |
( |
OutputTerminals & |
out | ) |
|
|
inlineprotected |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
template<typename Tuple , std::size_t... S>
auto CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::call_func |
( |
Tuple && |
args_tuple, |
|
|
output_terminalsT & |
out, |
|
|
std::index_sequence< S... > |
|
|
) |
| |
|
inlineprotected |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
template<typename Tuple , std::size_t... I>
static auto CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::make_output_terminal_ptrs |
( |
const Tuple & |
output_terminals, |
|
|
std::index_sequence< I... > |
|
|
) |
| |
|
inlinestaticprotected |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
template<typename ArgsTuple , typename Key = keyT>
std::enable_if_t<std::is_same_v<ArgsTuple, input_refs_tuple_type> && !ttg::meta::is_empty_tuple_v<input_refs_tuple_type> && ttg::meta::is_void_v<Key>, op_return_type> CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::op |
( |
ArgsTuple && |
args_tuple, |
|
|
output_terminalsT & |
out |
|
) |
| |
|
inline |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
template<typename Key , typename ArgsTuple >
std::enable_if_t<std::is_same_v<ArgsTuple, input_refs_tuple_type> && !ttg::meta::is_empty_tuple_v<input_refs_tuple_type> && !ttg::meta::is_void_v<Key>, op_return_type> CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::op |
( |
Key && |
key, |
|
|
ArgsTuple && |
args_tuple, |
|
|
output_terminalsT & |
out |
|
) |
| |
|
inline |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
template<typename Key , typename ArgsTuple = input_refs_tuple_type>
std::enable_if_t<ttg::meta::is_empty_tuple_v<ArgsTuple> && !ttg::meta::is_void_v<Key>, op_return_type> CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::op |
( |
Key && |
key, |
|
|
output_terminalsT & |
out |
|
) |
| |
|
inline |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
template<typename Key = keyT, typename ArgsTuple = input_refs_tuple_type>
std::enable_if_t<ttg::meta::is_empty_tuple_v<ArgsTuple> && ttg::meta::is_void_v<Key>, op_return_type> CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::op |
( |
output_terminalsT & |
out | ) |
|
|
inline |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
template<typename ReturnT >
auto CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::process_return |
( |
ReturnT && |
ret, |
|
|
output_terminalsT & |
out |
|
) |
| |
|
inlineprotected |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
constexpr bool CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::have_cuda_op = (space == ttg::ExecutionSpace::CUDA) |
|
staticconstexpr |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
constexpr bool CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::have_hip_op = (space == ttg::ExecutionSpace::HIP) |
|
staticconstexpr |
template<typename funcT , typename returnT , bool funcT_receives_input_tuple, bool funcT_receives_outterm_tuple, ttg::ExecutionSpace space, typename keyT , typename output_terminalsT , typename... input_valuesT>
constexpr bool CallableWrapTT< funcT, returnT, funcT_receives_input_tuple, funcT_receives_outterm_tuple, space, keyT, output_terminalsT, input_valuesT >::have_level_zero_op = (space == ttg::ExecutionSpace::L0) |
|
staticconstexpr |