SUMO - Simulation of Urban MObility

MSBitSetLogic< N > Class Template Reference

#include <MSBitSetLogic.h>

Inheritance diagram for MSBitSetLogic< N >:
MSJunctionLogic

Public Types

typedef std::vector
< std::bitset< N > > 
Foes
 Container holding the information which internal lanes prohibt which links Build the same way as Logic.
typedef 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 correspond to the links. To create a bitset for a particular link, set the bits to true that correspond to links that have the right of way. All others set to false, including the link's "own" link-bit.

Public Member Functions

const MSLogicJunction::LinkFoes & getFoesFor (unsigned int linkIndex) const throw ()
 Returns the foes of the given link.
const std::bitset< 64 > & getInternalFoesFor (unsigned int linkIndex) const throw ()
bool getIsCont (unsigned int linkIndex) const throw ()
unsigned int getLogicSize () const throw ()
virtual bool isCrossing () const throw ()
 MSBitSetLogic (unsigned int nLinks, Logic *logic, Foes *foes, std::bitset< 64 > conts)
 Use this constructor only.
unsigned int nLinks ()
 Returns the logic's number of links.
 ~MSBitSetLogic ()
 Destructor.

Protected Attributes

unsigned int myNLinks
 The logic's number of links.

Static Protected Attributes

static MSLogicJunction::LinkFoes myDummyFoes
 A dummy foe container.

Private Member Functions

 MSBitSetLogic (const MSBitSetLogic &)
 Invalidated copy constructor.
MSBitSetLogic & operator= (const MSBitSetLogic &)
 Invalidated assignment operator.

Private Attributes

std::bitset< 64 > myConts
Foes * myInternalLinksFoes
 internal lanes logic
Logic * myLogic
 junctions logic based on std::bitset

Detailed Description

template<size_t N>
class MSBitSetLogic< N >

N is sum of the number of links of the junction's inLanes.

Definition at line 48 of file MSBitSetLogic.h.


Member Typedef Documentation

template<size_t N>
typedef std::vector< std::bitset< N > > MSBitSetLogic< N >::Foes

Container holding the information which internal lanes prohibt which links Build the same way as Logic.

Definition at line 60 of file MSBitSetLogic.h.

template<size_t N>
typedef std::vector< std::bitset< N > > MSBitSetLogic< N >::Logic

Container that holds the right of way bitsets. Each link has it's own bitset. The bits in the bitsets correspond to the links. To create a bitset for a particular link, set the bits to true that correspond to links that have the right of way. All others set to false, including the link's "own" link-bit.

Definition at line 56 of file MSBitSetLogic.h.


Constructor & Destructor Documentation

template<size_t N>
MSBitSetLogic< N >::MSBitSetLogic ( unsigned int  nLinks,
Logic *  logic,
Foes *  foes,
std::bitset< 64 >  conts 
) [inline]

Use this constructor only.

Definition at line 65 of file MSBitSetLogic.h.

template<size_t N>
MSBitSetLogic< N >::~MSBitSetLogic ( ) [inline]

Destructor.

Definition at line 74 of file MSBitSetLogic.h.

References MSBitSetLogic< N >::myInternalLinksFoes, and MSBitSetLogic< N >::myLogic.

template<size_t N>
MSBitSetLogic< N >::MSBitSetLogic ( const MSBitSetLogic< N > &  ) [private]

Invalidated copy constructor.


Member Function Documentation

template<size_t N>
const MSLogicJunction::LinkFoes& MSBitSetLogic< N >::getFoesFor ( unsigned int  linkIndex) const throw () [inline, virtual]

Returns the foes of the given link.

Reimplemented from MSJunctionLogic.

Definition at line 81 of file MSBitSetLogic.h.

References MSBitSetLogic< N >::myLogic.

template<size_t N>
const std::bitset<64>& MSBitSetLogic< N >::getInternalFoesFor ( unsigned int  linkIndex) const throw () [inline, virtual]

Reimplemented from MSJunctionLogic.

Definition at line 85 of file MSBitSetLogic.h.

References MSBitSetLogic< N >::myInternalLinksFoes.

template<size_t N>
bool MSBitSetLogic< N >::getIsCont ( unsigned int  linkIndex) const throw () [inline, virtual]

Reimplemented from MSJunctionLogic.

Definition at line 89 of file MSBitSetLogic.h.

References MSBitSetLogic< N >::myConts.

unsigned int MSJunctionLogic::getLogicSize ( ) const throw () [inline, inherited]

Definition at line 67 of file MSJunctionLogic.h.

References MSJunctionLogic::myNLinks.

Referenced by MSRightOfWayJunction::postloadInit().

template<size_t N>
virtual bool MSBitSetLogic< N >::isCrossing ( ) const throw () [inline, virtual]

Reimplemented from MSJunctionLogic.

Definition at line 93 of file MSBitSetLogic.h.

References MSBitSetLogic< N >::myLogic.

unsigned int MSJunctionLogic::nLinks ( ) [inherited]

Returns the logic's number of links.

Definition at line 47 of file MSJunctionLogic.cpp.

References MSJunctionLogic::myNLinks.

template<size_t N>
MSBitSetLogic& MSBitSetLogic< N >::operator= ( const MSBitSetLogic< N > &  ) [private]

Invalidated assignment operator.


Field Documentation

template<size_t N>
std::bitset<64> MSBitSetLogic< N >::myConts [private]

Definition at line 109 of file MSBitSetLogic.h.

Referenced by MSBitSetLogic< N >::getIsCont().

A dummy foe container.

Definition at line 86 of file MSJunctionLogic.h.

Referenced by MSJunctionLogic::getFoesFor(), and MSJunctionLogic::getInternalFoesFor().

template<size_t N>
Foes* MSBitSetLogic< N >::myInternalLinksFoes [private]

internal lanes logic

Definition at line 107 of file MSBitSetLogic.h.

Referenced by MSBitSetLogic< N >::getInternalFoesFor(), and MSBitSetLogic< N >::~MSBitSetLogic().

template<size_t N>
Logic* MSBitSetLogic< N >::myLogic [private]

junctions logic based on std::bitset

Definition at line 104 of file MSBitSetLogic.h.

Referenced by MSBitSetLogic< N >::getFoesFor(), MSBitSetLogic< N >::isCrossing(), and MSBitSetLogic< N >::~MSBitSetLogic().

unsigned int MSJunctionLogic::myNLinks [protected, inherited]

The logic's number of links.

Definition at line 83 of file MSJunctionLogic.h.

Referenced by MSJunctionLogic::getLogicSize(), and MSJunctionLogic::nLinks().


The documentation for this class was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines