Class RouteValidator

Nested Relationships

Nested Types

Inheritance Relationships

Derived Types

Class Documentation

class RouteValidator

The RouteValidator class provides an interface for identifying whether a given route can be considered valid.

Subclassed by rmf_traffic::agv::NegotiatingRouteValidator, rmf_traffic::agv::ScheduleRouteValidator

Public Types

using ParticipantId = schedule::ParticipantId
using Route = rmf_traffic::Route

Public Functions

virtual std::optional<Conflict> find_conflict(const Route &route) const = 0

If the specified route has a conflict with another participant, this will return the participant ID for the first conflict that gets identified. Otherwise it will return a nullopt.

Parameters:

route[in] The route that is being checked.

virtual std::unique_ptr<RouteValidator> clone() const = 0

Create a clone of the underlying RouteValidator object.

virtual ~RouteValidator() = default
struct Conflict

Public Members

Dependency dependency
Time time
std::shared_ptr<const rmf_traffic::Route> route