27 const int trajectory_id_b,
33 auto sorted_pair = std::minmax(trajectory_id_a, trajectory_id_b);
43 std::vector<int> component_a =
45 std::vector<int> component_b =
47 for (
const auto id_a : component_a) {
48 for (
const auto id_b : component_b) {
49 auto id_pair = std::minmax(id_a, id_b);
58 const int trajectory_id_a,
const int trajectory_id_b)
const {
68 const int trajectory_id_a,
const int trajectory_id_b) {
69 const auto sorted_pair = std::minmax(trajectory_id_a, trajectory_id_b);
bool TransitivelyConnected(int trajectory_id_a, int trajectory_id_b) EXCLUDES(lock_)
std::vector< int > GetComponent(int trajectory_id) EXCLUDES(lock_)
void Connect(int trajectory_id_a, int trajectory_id_b, common::Time time)
std::vector< std::vector< int > > Components() EXCLUDES(lock_)
UniversalTimeScaleClock::time_point Time
common::Time LastConnectionTime(int trajectory_id_a, int trajectory_id_b)
std::map< std::pair< int, int >, common::Time > last_connection_time_map_
void Add(int trajectory_id)
bool TransitivelyConnected(int trajectory_id_a, int trajectory_id_b) const
void Connect(int trajectory_id_a, int trajectory_id_b) EXCLUDES(lock_)
void Add(int trajectory_id) EXCLUDES(lock_)
ConnectedComponents connected_components_
std::vector< std::vector< int > > Components() const