17#include <unordered_map>
53 std::vector<std::unique_ptr<StraightBlock>>
straights;
54 std::vector<std::unique_ptr<SwitchBlock>>
switches;
145 for (
size_t i = 0; i <
straights.size(); ++i)
153 if (nA == SIZE_MAX || nB == SIZE_MAX)
continue;
158 const size_t a = std::min(nA, nB);
159 const size_t b = std::max(nA, nB);
Modèle de domaine d'un bloc de voie droite (Straight).
Modèle de domaine d'un aiguillage ferroviaire à 3 branches.
Definition StraightBlock.h:24
Extrémité d'un bloc — nœud frontière + ID du bloc voisin.
Definition BlockSet.h:35
std::string neighbourId
Definition BlockSet.h:37
size_t frontierNodeId
Definition BlockSet.h:36
Conteneur propriétaire des StraightBlock et SwitchBlock.
Definition BlockSet.h:48
size_t totalCount() const
Definition BlockSet.h:126
std::vector< std::pair< BlockEndpoint, BlockEndpoint > > straightEndpoints
Definition BlockSet.h:105
std::vector< std::unique_ptr< StraightBlock > > straights
Definition BlockSet.h:53
std::unordered_map< size_t, SwitchBlock * > switchByNode
Definition BlockSet.h:67
std::unordered_map< size_t, StraightBlock * > straightByEndpointPair
Definition BlockSet.h:74
std::vector< std::unique_ptr< SwitchBlock > > switches
Definition BlockSet.h:54
std::vector< std::array< BlockEndpoint, 3 > > switchEndpoints
Definition BlockSet.h:108
std::unordered_map< size_t, std::vector< StraightBlock * > > straightByDirectedPair
Definition BlockSet.h:93
void rebuildStraightIndex()
Reconstruit tous les index straight depuis straights et straightEndpoints (après absorption Phase7).
Definition BlockSet.h:139
std::unordered_map< size_t, std::vector< StraightBlock * > > straightsByNode
Definition BlockSet.h:64
void clear()
Definition BlockSet.h:114