Expand description
§Time constraint reasoning
This crate is dedicated to reasoning about time. It deals with time constraints, propagate them and maintain an agenda of all the possible dates consistent with the user constraints.
§Time structures
Several time structures (interval, sets) are provided to make easier time manipulation.
This time data defines several operators for union, intersection, translation in two ways:
- by using standard operators (
&
for intersection,|
for unsion,+/-
for translation) - by using iterator traits (see module
iter
) which allows time manipulation with saving memory allocation (no intermediate structures needed)
§Time constraint management
The module graph
deals with time constraints graph and mainly provides two structures:
graph::TimeGraph
: the time constraints graph, a time constraint is defined as an interval of duration between two instants, a graph could be considered as a collection of time constraintsgraph::TimeScheduler
: the scheduler maintains a set of slots (one for each instant) according to its time graph
Any modification of constraints are automatically propagated (see graph::TimeGraph
for more
informations about the propagation algorithm).
Modules§
Structs§
- Time
Interval - A generic interval defined by its two time bounds
- TimeSet
- A union of time intervals
- Time
Value - A single time value (duration)
- Timestamp
- A UTC timestamp (date + time)
Traits§
- Into
Time Value - Time
Bounds - The envelope (the bounds) of a time window
- Time
Containing - A trait for time containing
- Time
Convex - A marker of convex (interval) time set
- Time
Overlapping - A trait for time overlapping
- Time
Point - A unique point of a time window
- Time
Point Format - Time
SetFormat - Time
Truncation - Time
Window - An arbitrary set of timepoints
- Timestamped
- A trait for marking timestamped data
Type Aliases§
- Time
Slot - An alias for
TimeInterval<Timestamp>
- Time
Slots - A union of
TimeSlot
(aliased toTimeSet<Timestamp>
) - Time
Span - An alias for
TimeInterval<TimeValue>
- Time
Spans - A union of
TimeSpan
(aliased toTimeSet<TimeValue>
)