42 for (
auto& hs : { make_tuple( v->inputHandles(), std::ref(
m_ido ), std::ref(
m_ign_i ) ),
43 make_tuple( v->outputHandles(), std::ref(
m_odo ), std::ref(
m_ign_o ) ) } ) {
44 for (
const auto& h : std::get<0>( hs ) ) {
45 if ( !h->objKey().empty() ) {
46 std::get<1>( hs ).emplace( h->fullKey() );
48 std::get<2>( hs ).emplace( h->fullKey() );
54 for (
auto&
id : v->extraInputDeps() ) {
m_owners[id].emplace( v ); }
55 for (
auto&
id : v->extraOutputDeps() ) {
m_owners[id].emplace( v ); }
60 for (
auto& hs : { make_tuple( v->extraInputDeps(), std::ref(
m_ido ), std::ref(
m_ign_i ) ),
61 make_tuple( v->extraOutputDeps(), std::ref(
m_odo ), std::ref(
m_ign_o ) ),
62 make_tuple( v->inputDataObjs(), std::ref(
m_ido ), std::ref(
m_ign_i ) ),
63 make_tuple( v->outputDataObjs(), std::ref(
m_odo ), std::ref(
m_ign_o ) ) } ) {
64 for (
const auto& h : std::get<0>( hs ) ) {
65 if ( !h.key().empty() ) {
66 std::get<1>( hs ).emplace( h );
68 std::get<2>( hs ).emplace( h );
96 return { in.begin(), in.end(), sort };
98 auto write_owners_of = [
this](
auto& stream,
const DataObjID& id ) {
100 if ( !tmp.empty() ) { stream <<
' ' << tmp; }
103 for (
auto h : orderset(
m_ido ) ) {
104 stream <<
"\n + INPUT " << h;
105 write_owners_of( stream, h );
107 for (
auto id : orderset(
m_ign_i ) ) {
108 stream <<
"\n + INPUT IGNORED " << id;
109 write_owners_of( stream,
id );
111 for (
auto h : orderset(
m_odo ) ) {
112 stream <<
"\n + OUTPUT " << h;
113 write_owners_of( stream, h );
115 for (
auto id : orderset(
m_ign_o ) ) {
116 stream <<
"\n + OUTPUT IGNORED " << id;
117 write_owners_of( stream,
id );