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 Elementabstract

Classe de base abstraite pour tous les éléments interactifs ferroviaires. Plus de détails...

#include <Element.h>

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

Fonctions membres publiques

 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

std::string m_id
 id de l'element
 

Attributs protégés statiques

static Logger m_logger
 Logger statique partagé par TOUS les éléments interactifs.
 

Description détaillée

Classe de base abstraite pour tous les éléments interactifs ferroviaires.

Définit l'interface commune que chaque élément interactif doit implémenter.

Règles de copie / déplacement :

  • Copie interdite : évite le slicing et la duplication accidentelle.
  • Déplacement autorisé : nécessaire au pipeline de construction (TopologyExtractor, make_unique, etc.).

Documentation des constructeurs et destructeur

◆ Element() [1/3]

Element::Element ( )
default

◆ ~Element()

virtual Element::~Element ( )
virtualdefault

◆ Element() [2/3]

Element::Element ( const Element )
delete

Interdit la copie — risque de slicing.

◆ Element() [3/3]

Element::Element ( Element &&  )
default

Déplacement autorisé — requis par le pipeline de construction.

Documentation des fonctions membres

◆ getId()

virtual std::string Element::getId ( ) const
pure virtual

Retourne l'identifiant unique de l'élément (ex. "sw/3", "s/12").

Implémenté dans StraightBlock, et SwitchBlock.

◆ getType()

virtual ElementType Element::getType ( ) const
pure virtual

Retourne le type de l'élément.

Renvoie
ElementType::SWITCH ou ElementType::STRAIGHT.

Implémenté dans StraightBlock, et SwitchBlock.

◆ operator=() [1/2]

Element & Element::operator= ( const Element )
delete

◆ operator=() [2/2]

Element & Element::operator= ( Element &&  )
default

Documentation des données membres

◆ m_id

std::string Element::m_id
protected

id de l'element

◆ m_logger

Logger Element::m_logger
staticprotected

Logger statique partagé par TOUS les éléments interactifs.

Une seule instance pour l'ensemble des SwitchBlock et StraightBlock → un seul fichier "Logs/Elements.log".

Statique : initialisé une seule fois au démarrage, partagé par toutes les instances de toutes les classes dérivées. Le mutex interne du Logger garantit la thread-safety des écritures concurrentes.

Utilisation dans les classes dérivées :

LOG_INFO(m_logger, m_id + " orienté");
#define LOG_INFO(logger, message)
Definition Logger.h:67
std::string m_id
id de l'element
Definition Element.h:71
static Logger m_logger
Logger statique partagé par TOUS les éléments interactifs.
Definition Element.h:88

Définition de l'unique instance du logger partagé. Produit le fichier "Logs/Elements.log".


La documentation de cette classe a été générée à partir des fichiers suivants :