21 using std::make_tuple;
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 ); }
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 );
77 return { item->second.begin(), item->second.end() };
83 std::vector<std::string> tmp;
85 if ( with_main || owner->name() !=
m_initialName ) tmp.push_back( owner->name() );
87 if ( !tmp.empty() ) { std::sort( tmp.begin(), tmp.end() ); }
96 return { in.begin(), in.end(), sort };
100 if ( !tmp.empty() ) {
stream <<
' ' << tmp; }
103 for (
auto h : orderset(
m_ido ) ) {
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 ) ) {
115 for (
auto id : orderset(
m_ign_o ) ) {
116 stream <<
"\n + OUTPUT IGNORED " <<
id;
117 write_owners_of(
stream,
id );