Simulateur Ferroviaire
Reconstruction et visualisation d'un réseau ferroviaire à partir de données GeoJSON — Win32 / WebView2 / Leaflet
Chargement...
Recherche...
Aucune correspondance
Référence de la classe ShuntingElementabstract

Interface abstraite pour tous les éléments de shuntage ferroviaire. Plus de détails...

#include <ShuntingElement.h>

Graphe d'héritage de ShuntingElement:
Graphe de collaboration de ShuntingElement:

Fonctions membres publiques

 ShuntingElement ()=default
 
virtual ~ShuntingElement ()=default
 
 ShuntingElement (ShuntingElement &&)=default
 
ShuntingElementoperator= (ShuntingElement &&)=default
 
virtual ShuntingState getState () const =0
 Retourne l'état opérationnel courant de l'élément.
 
bool isFree () const
 Retourne true si l'élément est libre.
 
bool isOccupied () const
 Retourne true si l'élément est occupé.
 
bool isInactive () const
 Retourne true si l'élément est hors service.
 
- Fonctions membres publiques hérités de Element
 Element ()=default
 
virtual ~Element ()=default
 
 Element (const Element &)=delete
 Interdit la copie — risque de slicing.
 
Elementoperator= (const Element &)=delete
 
 Element (Element &&)=default
 Déplacement autorisé — requis par le pipeline de construction.
 
Elementoperator= (Element &&)=default
 
virtual std::string getId () const =0
 Retourne l'identifiant unique de l'élément (ex. "sw/3", "s/12").
 
virtual ElementType getType () const =0
 Retourne le type de l'élément.
 

Attributs protégés

ShuntingState m_state = ShuntingState::FREE
 
- Attributs protégés hérités de Element
std::string m_id
 id de l'element
 

Membres hérités additionnels

- Attributs protégés statiques hérités de Element
static Logger m_logger
 Logger statique partagé par TOUS les éléments interactifs.
 

Description détaillée

Interface abstraite pour tous les éléments de shuntage ferroviaire.

Étend Element avec une requête d'état propre à l'infrastructure de shuntage (sections de voie, détecteurs, signaux de manœuvre, …).

Les sous-classes concrètes doivent implémenter getId(), getType() et getState().

Règles de copie / déplacement :

  • Copie interdite (héritée de Element).
  • Déplacement explicitement autorisé : la déclaration du destructeur virtuel supprimerait sinon la génération implicite des opérateurs de déplacement, rendant StraightBlock et SwitchBlock non-déplaçables.

Documentation des constructeurs et destructeur

◆ ShuntingElement() [1/2]

ShuntingElement::ShuntingElement ( )
default

◆ ~ShuntingElement()

virtual ShuntingElement::~ShuntingElement ( )
virtualdefault

◆ ShuntingElement() [2/2]

ShuntingElement::ShuntingElement ( ShuntingElement &&  )
default

Déplacement explicite — nécessaire car le destructeur virtuel supprime la génération implicite des opérateurs de déplacement en C++11/14/17.

Documentation des fonctions membres

◆ getState()

virtual ShuntingState ShuntingElement::getState ( ) const
pure virtual

Retourne l'état opérationnel courant de l'élément.

Renvoie
ShuntingState::FREE – libre, opérationnel. ShuntingState::OCCUPIED – occupé par un véhicule. ShuntingState::INACTIVE – hors service (panne / maintenance).

Implémenté dans StraightBlock, et SwitchBlock.

◆ isFree()

bool ShuntingElement::isFree ( ) const
inline

Retourne true si l'élément est libre.

◆ isInactive()

bool ShuntingElement::isInactive ( ) const
inline

Retourne true si l'élément est hors service.

◆ isOccupied()

bool ShuntingElement::isOccupied ( ) const
inline

Retourne true si l'élément est occupé.

◆ operator=()

ShuntingElement & ShuntingElement::operator= ( ShuntingElement &&  )
default

Documentation des données membres

◆ m_state

ShuntingState ShuntingElement::m_state = ShuntingState::FREE
protected

État opérationnel courant du bloc (FREE par défaut).


La documentation de cette classe a été générée à partir du fichier suivant :