Minsky: 3.17.0
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 1129 of file minsky.cc.

Member Function Documentation

◆ emplace()

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

Definition at line 1133 of file minsky.cc.

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

◆ followWire()

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

Definition at line 1136 of file minsky.cc.

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

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

◆ stack

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

Definition at line 1132 of file minsky.cc.


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