17#ifndef DAISI_PATH_PLANNING_CONSTANTS_H_
18#define DAISI_PATH_PLANNING_CONSTANTS_H_
20#include <unordered_map>
25#include "ns3/vector.h"
26#include "path_planning/consensus/central/central_settings.h"
27#include "path_planning/consensus/paxos/paxos_settings.h"
29namespace daisi::path_planning {
32using PointTimePairs = std::vector<std::pair<ns3::Vector2D, double>>;
35using PPVector = std::pair<float, float>;
37using Timestamp = double;
38using Intersection = PPVector;
43using IntersectionOccupancy = std::unordered_map<Intersection, std::map<Timestamp, ID>>;
47template <>
struct hash<daisi::path_planning::PPVector> {
49 size_t operator()(daisi::path_planning::PPVector
const &p)
const {
50 return std::hash<double>()(p.first) ^ std::hash<double>()(p.second);
size_t operator()(daisi::path_planning::PPVector const &p) const
Hash function for PPVector.
Definition constants.h:49