OmniSciDB  c07336695a
anonymous_namespace{FromTableReordering.cpp}::SchedulingDependencyTracking Class Reference

Public Member Functions

 SchedulingDependencyTracking (const size_t node_count)
 
void addEdge (const node_t from, const node_t to)
 
void removeNode (const node_t from)
 
std::unordered_set< node_tgetRoots () const
 

Private Attributes

std::vector< std::unordered_set< node_t > > inbound_
 

Detailed Description

Definition at line 111 of file FromTableReordering.cpp.

Constructor & Destructor Documentation

◆ SchedulingDependencyTracking()

anonymous_namespace{FromTableReordering.cpp}::SchedulingDependencyTracking::SchedulingDependencyTracking ( const size_t  node_count)
inline

Definition at line 113 of file FromTableReordering.cpp.

113 : inbound_(node_count) {}

Member Function Documentation

◆ addEdge()

void anonymous_namespace{FromTableReordering.cpp}::SchedulingDependencyTracking::addEdge ( const node_t  from,
const node_t  to 
)
inline

Definition at line 116 of file FromTableReordering.cpp.

Referenced by anonymous_namespace{FromTableReordering.cpp}::build_dependency_tracking().

116 { inbound_[to].insert(from); }
+ Here is the caller graph for this function:

◆ getRoots()

std::unordered_set<node_t> anonymous_namespace{FromTableReordering.cpp}::SchedulingDependencyTracking::getRoots ( ) const
inline

Definition at line 126 of file FromTableReordering.cpp.

126  {
127  std::unordered_set<node_t> roots;
128  for (node_t candidate = 0; candidate < inbound_.size(); ++candidate) {
129  if (inbound_[candidate].empty()) {
130  roots.insert(candidate);
131  }
132  }
133  return roots;
134  }

◆ removeNode()

void anonymous_namespace{FromTableReordering.cpp}::SchedulingDependencyTracking::removeNode ( const node_t  from)
inline

Definition at line 119 of file FromTableReordering.cpp.

119  {
120  for (auto& inbound_for_node : inbound_) {
121  inbound_for_node.erase(from);
122  }
123  }

Member Data Documentation

◆ inbound_

std::vector<std::unordered_set<node_t> > anonymous_namespace{FromTableReordering.cpp}::SchedulingDependencyTracking::inbound_
private

Definition at line 137 of file FromTableReordering.cpp.


The documentation for this class was generated from the following file: