23 #ifndef MSBitSetLogic_h
24 #define MSBitSetLogic_h
59 typedef std::vector< std::bitset< N > >
Logic;
63 typedef std::vector< std::bitset< N > >
Foes;
71 std::bitset<64> conts)
97 for (
typename Logic::const_iterator i =
myLogic->begin(); i !=
myLogic->end(); ++i) {
MSBitSetLogic(unsigned int nLinks, Logic *logic, Foes *foes, std::bitset< 64 > conts)
Use this constructor only.
virtual bool isCrossing() const
unsigned int nLinks()
Returns the logic's number of links.
Logic * myLogic
junctions logic based on std::bitset
bool getIsCont(unsigned int linkIndex) const
~MSBitSetLogic()
Destructor.
MSBitSetLogic & operator=(const MSBitSetLogic &)
Invalidated assignment operator.
std::vector< std::bitset< N > > Foes
Container holding the information which internal lanes prohibt which links Build the same way as Logi...
std::bitset< 64 > myConts
MSBitSetLogic< 64 > MSBitsetLogic
std::bitset< 64 > LinkFoes
Container for link foes.
std::vector< std::bitset< N > > Logic
Container that holds the right of way bitsets. Each link has it's own bitset. The bits in the bitsets...
Foes * myInternalLinksFoes
internal lanes logic
const MSLogicJunction::LinkFoes & getFoesFor(unsigned int linkIndex) const
Returns the foes of the given link.
const std::bitset< 64 > & getInternalFoesFor(unsigned int linkIndex) const