1 #ifndef __DIADES__PETRI__PRIORITYPETRINET_HH_ 2 #define __DIADES__PETRI__PRIORITYPETRINET_HH_ 4 #include<unordered_map> 21 typedef std::unordered_multimap<Transition,Transition>
Priorities;
22 typedef pair<Priorities::const_iterator,Priorities::const_iterator>
Range;
30 removePriority(t1,t2);
31 _priorities.insert(make_pair(t1,t2));
36 Range range = priorities(t1);
38 while(!removed && (range.first != range.second))
40 removed = ((range.first->second) == t2);
43 _priorities.erase(range.first);
54 return make_pair(_priorities.begin(),_priorities.end());
60 return _priorities.equal_range(t);
65 Range range = priorities(t1);
67 while(!found && (range.first != range.second))
69 found = ((range.first->second) == t2);
79 Range range = priorities();
80 while(range.first != range.second)
83 os << labelOfTransition(range.first->first)
84 <<
" < " << labelOfTransition(range.first->second)
void removePriority(Transition t1, Transition t2)
Diades::Graph::Node Transition
std::unordered_multimap< Transition, Transition > Priorities
virtual ~PriorityPetriNet()
Namespace of the Diades project.
std::unordered_multimap< Transition, Transition > _priorities
Range priorities(Transition t) const
bool hasPriority(Transition t1, Transition t2) const
virtual void priorities2Tina(ostream &os) const
pair< Priorities::const_iterator, Priorities::const_iterator > Range
void setPriority(Transition t1, Transition t2)