Eclipse SUMO - Simulation of Urban MObility
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
GNEHierarchicalStructureParents Class Reference

Hierarchical structure used for keep parents. More...

#include <GNEHierarchicalStructureParents.h>

Public Member Functions

template<>
void add (GNEAdditional *parent, const int index)
 
template<>
void add (GNEDemandElement *parent, const int index)
 
template<>
void add (GNEEdge *parent, const int index)
 
template<>
void add (GNEGenericData *parent, const int index)
 
template<>
void add (GNEJunction *parent, const int index)
 
template<>
void add (GNELane *parent, const int index)
 
template<>
void add (GNETAZSourceSink *parent, const int index)
 
template<typename ParentType >
void add (ParentType parent, const int index=-1)
 add parent element
 
template<>
GNEJunctionat (const int index) const
 
template<>
GNEEdgeat (const int index) const
 
template<>
GNELaneat (const int index) const
 
template<>
GNEAdditionalat (const int index) const
 
template<>
GNETAZSourceSinkat (const int index) const
 
template<>
GNEDemandElementat (const int index) const
 
template<>
GNEGenericDataat (const int index) const
 
template<typename ParentType >
ParentType at (const int index) const
 get parent at the given position
 
void clear ()
 clear container
 
template<>
const GNEHierarchicalContainerParents< GNEJunction * > & get () const
 
template<>
const GNEHierarchicalContainerParents< GNEEdge * > & get () const
 
template<>
const GNEHierarchicalContainerParents< GNELane * > & get () const
 
template<>
const GNEHierarchicalContainerParents< GNEAdditional * > & get () const
 
template<>
const GNEHierarchicalContainerParents< GNETAZSourceSink * > & get () const
 
template<>
const GNEHierarchicalContainerParents< GNEDemandElement * > & get () const
 
template<>
const GNEHierarchicalContainerParents< GNEGenericData * > & get () const
 
template<typename ParentType >
const GNEHierarchicalContainerParents< ParentType > & get () const
 get parents
 
 GNEHierarchicalStructureParents ()
 default constructor
 
template<>
void remove (GNEAdditional *additional)
 
template<>
void remove (GNEDemandElement *demandElement)
 
template<>
void remove (GNEEdge *edge)
 
template<>
void remove (GNEGenericData *genericData)
 
template<>
void remove (GNEJunction *junction)
 
template<>
void remove (GNELane *lane)
 
template<>
void remove (GNETAZSourceSink *TAZSourceSink)
 
template<typename ParentType >
void remove (ParentType parent)
 remove parent element
 
template<>
void replaceAll (const GNEHierarchicalContainerParents< GNEAdditional * > &newParents)
 
template<>
void replaceAll (const GNEHierarchicalContainerParents< GNEDemandElement * > &newParents)
 
template<>
void replaceAll (const GNEHierarchicalContainerParents< GNEEdge * > &newParents)
 
template<>
void replaceAll (const GNEHierarchicalContainerParents< GNEGenericData * > &newParents)
 
template<>
void replaceAll (const GNEHierarchicalContainerParents< GNEJunction * > &newParents)
 
template<>
void replaceAll (const GNEHierarchicalContainerParents< GNELane * > &newParents)
 
template<>
void replaceAll (const GNEHierarchicalContainerParents< GNETAZSourceSink * > &newParents)
 
template<typename ParentType >
void replaceAll (const GNEHierarchicalContainerParents< ParentType > &newParents)
 update all parent element
 
template<>
void replaceSingle (const int index, GNEAdditional *newParent)
 
template<>
void replaceSingle (const int index, GNEDemandElement *newParent)
 
template<>
void replaceSingle (const int index, GNEEdge *newParent)
 
template<>
void replaceSingle (const int index, GNEGenericData *newParent)
 
template<>
void replaceSingle (const int index, GNEJunction *newParent)
 
template<>
void replaceSingle (const int index, GNELane *newParent)
 
template<>
void replaceSingle (const int index, GNETAZSourceSink *newParent)
 
template<typename ParentType >
void replaceSingle (const int index, ParentType newParent)
 update single parent element
 

Private Attributes

GNEHierarchicalContainerParents< GNEAdditional * > myParentAdditionals
 parents additionals
 
GNEHierarchicalContainerParents< GNEDemandElement * > myParentDemandElements
 parents demand elements
 
GNEHierarchicalContainerParents< GNEEdge * > myParentEdges
 parents edges
 
GNEHierarchicalContainerParents< GNEGenericData * > myParentGenericDatas
 parents generic datas
 
GNEHierarchicalContainerParents< GNEJunction * > myParentJunctions
 parents junctions
 
GNEHierarchicalContainerParents< GNELane * > myParentLanes
 parents lanes
 
GNEHierarchicalContainerParents< GNETAZSourceSink * > myParentTAZSourceSinks
 parents TAZSourceSinks (Unused, but needed for function addElementInParentsAndChildren)
 

Detailed Description

Hierarchical structure used for keep parents.

Definition at line 51 of file GNEHierarchicalStructureParents.h.

Constructor & Destructor Documentation

◆ GNEHierarchicalStructureParents()

GNEHierarchicalStructureParents::GNEHierarchicalStructureParents ( )

default constructor

Definition at line 36 of file GNEHierarchicalStructureParents.cpp.

Member Function Documentation

◆ add() [1/8]

template<>
void GNEHierarchicalStructureParents::add ( GNEAdditional parent,
const int  index 
)

Definition at line 175 of file GNEHierarchicalStructureParents.cpp.

References myParentAdditionals.

◆ add() [2/8]

template<>
void GNEHierarchicalStructureParents::add ( GNEDemandElement parent,
const int  index 
)

Definition at line 199 of file GNEHierarchicalStructureParents.cpp.

References myParentDemandElements.

◆ add() [3/8]

template<>
void GNEHierarchicalStructureParents::add ( GNEEdge parent,
const int  index 
)

Definition at line 151 of file GNEHierarchicalStructureParents.cpp.

References myParentEdges.

◆ add() [4/8]

template<>
void GNEHierarchicalStructureParents::add ( GNEGenericData parent,
const int  index 
)

Definition at line 211 of file GNEHierarchicalStructureParents.cpp.

References myParentGenericDatas.

◆ add() [5/8]

template<>
void GNEHierarchicalStructureParents::add ( GNEJunction parent,
const int  index 
)

Definition at line 139 of file GNEHierarchicalStructureParents.cpp.

References myParentJunctions.

◆ add() [6/8]

template<>
void GNEHierarchicalStructureParents::add ( GNELane parent,
const int  index 
)

Definition at line 163 of file GNEHierarchicalStructureParents.cpp.

References myParentLanes.

◆ add() [7/8]

template<>
void GNEHierarchicalStructureParents::add ( GNETAZSourceSink parent,
const int  index 
)

Definition at line 187 of file GNEHierarchicalStructureParents.cpp.

References myParentTAZSourceSinks.

◆ add() [8/8]

template<typename ParentType >
void GNEHierarchicalStructureParents::add ( ParentType  parent,
const int  index = -1 
)

add parent element

Parameters
parentnew parent element to be inserted
indexposition (-1 means push back)

◆ at() [1/8]

template<>
GNEJunction * GNEHierarchicalStructureParents::at ( const int  index) const

Definition at line 96 of file GNEHierarchicalStructureParents.cpp.

References myParentJunctions.

◆ at() [2/8]

template<>
GNEEdge * GNEHierarchicalStructureParents::at ( const int  index) const

Definition at line 102 of file GNEHierarchicalStructureParents.cpp.

References myParentEdges.

◆ at() [3/8]

template<>
GNELane * GNEHierarchicalStructureParents::at ( const int  index) const

Definition at line 108 of file GNEHierarchicalStructureParents.cpp.

References myParentLanes.

◆ at() [4/8]

template<>
GNEAdditional * GNEHierarchicalStructureParents::at ( const int  index) const

Definition at line 114 of file GNEHierarchicalStructureParents.cpp.

References myParentAdditionals.

◆ at() [5/8]

template<>
GNETAZSourceSink * GNEHierarchicalStructureParents::at ( const int  index) const

Definition at line 120 of file GNEHierarchicalStructureParents.cpp.

References myParentTAZSourceSinks.

◆ at() [6/8]

template<>
GNEDemandElement * GNEHierarchicalStructureParents::at ( const int  index) const

Definition at line 126 of file GNEHierarchicalStructureParents.cpp.

References myParentDemandElements.

◆ at() [7/8]

template<>
GNEGenericData * GNEHierarchicalStructureParents::at ( const int  index) const

Definition at line 132 of file GNEHierarchicalStructureParents.cpp.

References myParentGenericDatas.

◆ at() [8/8]

template<typename ParentType >
ParentType GNEHierarchicalStructureParents::at ( const int  index) const

get parent at the given position

◆ clear()

void GNEHierarchicalStructureParents::clear ( )

clear container

Definition at line 40 of file GNEHierarchicalStructureParents.cpp.

References myParentAdditionals, myParentDemandElements, myParentEdges, myParentGenericDatas, myParentJunctions, myParentLanes, and myParentTAZSourceSinks.

Referenced by GNEHierarchicalElement::clearParents().

Here is the caller graph for this function:

◆ get() [1/8]

template<>
const GNEHierarchicalContainerParents< GNEJunction * > & GNEHierarchicalStructureParents::get ( ) const

Definition at line 53 of file GNEHierarchicalStructureParents.cpp.

References myParentJunctions.

◆ get() [2/8]

template<>
const GNEHierarchicalContainerParents< GNEEdge * > & GNEHierarchicalStructureParents::get ( ) const

Definition at line 59 of file GNEHierarchicalStructureParents.cpp.

References myParentEdges.

◆ get() [3/8]

template<>
const GNEHierarchicalContainerParents< GNELane * > & GNEHierarchicalStructureParents::get ( ) const

Definition at line 65 of file GNEHierarchicalStructureParents.cpp.

References myParentLanes.

◆ get() [4/8]

template<>
const GNEHierarchicalContainerParents< GNEAdditional * > & GNEHierarchicalStructureParents::get ( ) const

Definition at line 71 of file GNEHierarchicalStructureParents.cpp.

References myParentAdditionals.

◆ get() [5/8]

template<>
const GNEHierarchicalContainerParents< GNETAZSourceSink * > & GNEHierarchicalStructureParents::get ( ) const

Definition at line 77 of file GNEHierarchicalStructureParents.cpp.

References myParentTAZSourceSinks.

◆ get() [6/8]

template<>
const GNEHierarchicalContainerParents< GNEDemandElement * > & GNEHierarchicalStructureParents::get ( ) const

Definition at line 83 of file GNEHierarchicalStructureParents.cpp.

References myParentDemandElements.

◆ get() [7/8]

template<>
const GNEHierarchicalContainerParents< GNEGenericData * > & GNEHierarchicalStructureParents::get ( ) const

Definition at line 89 of file GNEHierarchicalStructureParents.cpp.

References myParentGenericDatas.

◆ get() [8/8]

◆ remove() [1/8]

template<>
void GNEHierarchicalStructureParents::remove ( GNEAdditional additional)

◆ remove() [2/8]

template<>
void GNEHierarchicalStructureParents::remove ( GNEDemandElement demandElement)

◆ remove() [3/8]

template<>
void GNEHierarchicalStructureParents::remove ( GNEEdge edge)

◆ remove() [4/8]

template<>
void GNEHierarchicalStructureParents::remove ( GNEGenericData genericData)

◆ remove() [5/8]

template<>
void GNEHierarchicalStructureParents::remove ( GNEJunction junction)

◆ remove() [6/8]

template<>
void GNEHierarchicalStructureParents::remove ( GNELane lane)

◆ remove() [7/8]

template<>
void GNEHierarchicalStructureParents::remove ( GNETAZSourceSink TAZSourceSink)

◆ remove() [8/8]

template<typename ParentType >
void GNEHierarchicalStructureParents::remove ( ParentType  parent)

remove parent element

◆ replaceAll() [1/8]

template<>
void GNEHierarchicalStructureParents::replaceAll ( const GNEHierarchicalContainerParents< GNEAdditional * > &  newParents)

Definition at line 391 of file GNEHierarchicalStructureParents.cpp.

References myParentAdditionals.

◆ replaceAll() [2/8]

template<>
void GNEHierarchicalStructureParents::replaceAll ( const GNEHierarchicalContainerParents< GNEDemandElement * > &  newParents)

Definition at line 403 of file GNEHierarchicalStructureParents.cpp.

References myParentDemandElements.

◆ replaceAll() [3/8]

template<>
void GNEHierarchicalStructureParents::replaceAll ( const GNEHierarchicalContainerParents< GNEEdge * > &  newParents)

Definition at line 379 of file GNEHierarchicalStructureParents.cpp.

References myParentEdges.

◆ replaceAll() [4/8]

template<>
void GNEHierarchicalStructureParents::replaceAll ( const GNEHierarchicalContainerParents< GNEGenericData * > &  newParents)

Definition at line 409 of file GNEHierarchicalStructureParents.cpp.

References myParentGenericDatas.

◆ replaceAll() [5/8]

template<>
void GNEHierarchicalStructureParents::replaceAll ( const GNEHierarchicalContainerParents< GNEJunction * > &  newParents)

Definition at line 373 of file GNEHierarchicalStructureParents.cpp.

References myParentJunctions.

◆ replaceAll() [6/8]

template<>
void GNEHierarchicalStructureParents::replaceAll ( const GNEHierarchicalContainerParents< GNELane * > &  newParents)

Definition at line 385 of file GNEHierarchicalStructureParents.cpp.

References myParentLanes.

◆ replaceAll() [7/8]

template<>
void GNEHierarchicalStructureParents::replaceAll ( const GNEHierarchicalContainerParents< GNETAZSourceSink * > &  newParents)

Definition at line 397 of file GNEHierarchicalStructureParents.cpp.

References myParentTAZSourceSinks.

◆ replaceAll() [8/8]

template<typename ParentType >
void GNEHierarchicalStructureParents::replaceAll ( const GNEHierarchicalContainerParents< ParentType > &  newParents)

update all parent element

Referenced by GNEHierarchicalElement::setParent(), and GNEHierarchicalElement::setParents().

Here is the caller graph for this function:

◆ replaceSingle() [1/8]

template<>
void GNEHierarchicalStructureParents::replaceSingle ( const int  index,
GNEAdditional newParent 
)

◆ replaceSingle() [2/8]

template<>
void GNEHierarchicalStructureParents::replaceSingle ( const int  index,
GNEDemandElement newParent 
)

◆ replaceSingle() [3/8]

template<>
void GNEHierarchicalStructureParents::replaceSingle ( const int  index,
GNEEdge newParent 
)

◆ replaceSingle() [4/8]

template<>
void GNEHierarchicalStructureParents::replaceSingle ( const int  index,
GNEGenericData newParent 
)

◆ replaceSingle() [5/8]

template<>
void GNEHierarchicalStructureParents::replaceSingle ( const int  index,
GNEJunction newParent 
)

◆ replaceSingle() [6/8]

template<>
void GNEHierarchicalStructureParents::replaceSingle ( const int  index,
GNELane newParent 
)

◆ replaceSingle() [7/8]

template<>
void GNEHierarchicalStructureParents::replaceSingle ( const int  index,
GNETAZSourceSink newParent 
)

◆ replaceSingle() [8/8]

template<typename ParentType >
void GNEHierarchicalStructureParents::replaceSingle ( const int  index,
ParentType  newParent 
)

update single parent element

Parameters
indexposition
parentnew parent element to be updated

Field Documentation

◆ myParentAdditionals

GNEHierarchicalContainerParents<GNEAdditional*> GNEHierarchicalStructureParents::myParentAdditionals
private

parents additionals

Definition at line 101 of file GNEHierarchicalStructureParents.h.

Referenced by add(), at(), clear(), get(), remove(), replaceAll(), and replaceSingle().

◆ myParentDemandElements

GNEHierarchicalContainerParents<GNEDemandElement*> GNEHierarchicalStructureParents::myParentDemandElements
private

parents demand elements

Definition at line 107 of file GNEHierarchicalStructureParents.h.

Referenced by add(), at(), clear(), get(), remove(), replaceAll(), and replaceSingle().

◆ myParentEdges

GNEHierarchicalContainerParents<GNEEdge*> GNEHierarchicalStructureParents::myParentEdges
private

parents edges

Definition at line 95 of file GNEHierarchicalStructureParents.h.

Referenced by add(), at(), clear(), get(), remove(), replaceAll(), and replaceSingle().

◆ myParentGenericDatas

GNEHierarchicalContainerParents<GNEGenericData*> GNEHierarchicalStructureParents::myParentGenericDatas
private

parents generic datas

Definition at line 110 of file GNEHierarchicalStructureParents.h.

Referenced by add(), at(), clear(), get(), remove(), replaceAll(), and replaceSingle().

◆ myParentJunctions

GNEHierarchicalContainerParents<GNEJunction*> GNEHierarchicalStructureParents::myParentJunctions
private

parents junctions

Definition at line 92 of file GNEHierarchicalStructureParents.h.

Referenced by add(), at(), clear(), get(), remove(), replaceAll(), and replaceSingle().

◆ myParentLanes

GNEHierarchicalContainerParents<GNELane*> GNEHierarchicalStructureParents::myParentLanes
private

parents lanes

Definition at line 98 of file GNEHierarchicalStructureParents.h.

Referenced by add(), at(), clear(), get(), remove(), replaceAll(), and replaceSingle().

◆ myParentTAZSourceSinks

GNEHierarchicalContainerParents<GNETAZSourceSink*> GNEHierarchicalStructureParents::myParentTAZSourceSinks
private

parents TAZSourceSinks (Unused, but needed for function addElementInParentsAndChildren)

Definition at line 104 of file GNEHierarchicalStructureParents.h.

Referenced by add(), at(), clear(), get(), remove(), replaceAll(), and replaceSingle().


The documentation for this class was generated from the following files: