Welcome to mirror list, hosted at ThFree Co, Russian Federation.

joint.hpp « routing - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: bbab24e068acdbbb4f90342f964072839adbe437 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once

#include "routing/road_point.hpp"

#include "base/buffer_vector.hpp"

#include <cstdint>
#include <limits>
#include <string>

namespace routing
{
// Joint represents roads connection.
// It contains RoadPoint for each connected road.
class Joint final
{
public:
  using Id = uint32_t;
  static Id constexpr kInvalidId = std::numeric_limits<Id>::max();

  void AddPoint(RoadPoint const & rp) { m_points.emplace_back(rp); }

  size_t GetSize() const { return m_points.size(); }

  RoadPoint const & GetEntry(size_t i) const { return m_points[i]; }

private:
  buffer_vector<RoadPoint, 2> m_points;
};

std::string DebugPrint(Joint const & joint);
}  // namespace routing