initialCommit 4 ans en retard
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
#ifndef ORDONNANCEMENTCORRECTIF_STFINSTANCESTATICINFO_HPP
|
||||
#define ORDONNANCEMENTCORRECTIF_STFINSTANCESTATICINFO_HPP
|
||||
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
#include <cmath>
|
||||
#include "EmplacementVoie.h"
|
||||
|
||||
namespace modellib {
|
||||
class OperationRequise;
|
||||
class Voie;
|
||||
struct hash_pair {
|
||||
size_t operator()(const std::pair<OperationRequise*, Voie*> &p) const {
|
||||
auto hash1 = std::hash<OperationRequise*>{}(p.first);
|
||||
auto hash2 = std::hash<Voie*>{}(p.second);
|
||||
|
||||
if (hash1 != hash2) {
|
||||
return hash1 ^ hash2;
|
||||
}
|
||||
|
||||
return hash1;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class Rame;
|
||||
|
||||
class STFInstanceStaticInfo {
|
||||
private:
|
||||
public:
|
||||
std::unordered_map<std::pair<OperationRequise *, Voie*>, bool, hash_pair> matchesInfraOpTrack;
|
||||
std::unordered_map<OperationRequise *, Rame *> trainOfOperation;
|
||||
std::vector<std::pair<Rame *, std::vector<OperationRequise *>>> operationsOfTrain;
|
||||
std::vector<EmplacementVoie*> trackIntervals;
|
||||
std::unordered_map<EmplacementVoie*,unsigned int> trackIntervalsIds;
|
||||
std::unordered_map<Rame*,unsigned int> ramesIds;
|
||||
double multiIndicator{};
|
||||
|
||||
STFInstanceStaticInfo() = default;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user