Minsky
minsky::anonymous_namespace{minsky.cc}::Network Struct Reference
Inheritance diagram for minsky::anonymous_namespace{minsky.cc}::Network:
Inheritance graph
Collaboration diagram for minsky::anonymous_namespace{minsky.cc}::Network:
Collaboration graph

Public Member Functions

void emplace (Port *x, Port *y)
 
bool followWire (const Port *p)
 

Public Attributes

set< const Port * > portsVisited
 
vector< const Port * > stack
 

Detailed Description

Definition at line 1130 of file minsky.cc.

Member Function Documentation

◆ emplace()

void minsky::anonymous_namespace{minsky.cc}::Network::emplace ( Port x,
Port y 
)
inline

Definition at line 1134 of file minsky.cc.

1135  {multimap<const Port*,const Port*>::emplace(x,y);}

◆ followWire()

bool minsky::anonymous_namespace{minsky.cc}::Network::followWire ( const Port p)
inline

Definition at line 1137 of file minsky.cc.

References minsky::cminsky(), minsky::Minsky::displayErrorItem(), and minsky::Port::item().

1138  {
1139  if (!portsVisited.insert(p).second)
1140  { //traverse finished, check for cycle along branch
1141  if (std::find(stack.begin(), stack.end(), p) != stack.end())
1142  {
1143  cminsky().displayErrorItem(p->item());
1144  return true;
1145  }
1146  return false;
1147  }
1148  stack.push_back(p);
1149  const pair<iterator,iterator> range=equal_range(p);
1150  for (iterator i=range.first; i!=range.second; ++i)
1151  if (followWire(i->second))
1152  return true;
1153  stack.pop_back();
1154  return false;
1155  }
void displayErrorItem(const Item &op) const
indicate operation item has error, if visible, otherwise contining group
Definition: minsky.cc:1230
const Minsky & cminsky()
const version to help in const correctness
Definition: minsky.h:549
Here is the call graph for this function:

Member Data Documentation

◆ portsVisited

set<const Port*> minsky::anonymous_namespace{minsky.cc}::Network::portsVisited

Definition at line 1132 of file minsky.cc.

◆ stack

vector<const Port*> minsky::anonymous_namespace{minsky.cc}::Network::stack

Definition at line 1133 of file minsky.cc.


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