| Extracted from Pike v7.8 release 866 at 2018-07-18.

[Top]
Calendar
Calendar.TimeRange

# Method Calendar.TimeRange()->overlaps()

Method overlaps

  `int(0..1) strictly_preceeds(TimeRange what)`
  `int(0..1) preceeds(TimeRange what)`
  `int(0..1) is_previous_to(TimeRange what)`
  `int(0..1) overlaps(TimeRange what)`
  `int(0..1) contains(TimeRange what)`
  `int(0..1) equals(TimeRange what)`
  `int(0..1) is_next_to(TimeRange what)`
  `int(0..1) succeeds(TimeRange what)`
  `int(0..1) strictly_succeeds(TimeRange what)`

Description

  These methods exists to compare two periods of time on the timeline.

                case            predicates

       <-- past       future ->

       |----A----|              A strictly preceeds B,
                    |----B----| A preceeds B

       |----A----|              A strictly preceeds B, A preceeds B,
                 |----B----|    A is previous to B, A touches B

           |----A----|          A preceeds B,
                 |----B----|    A overlaps B, A touches B

           |-------A-------|    A preceeds B, A ends with B
                 |----B----|    A overlaps B, A contains B, A touches B,

           |-------A-------|    A preceeds B,  A succeeds B,
               |---B---|        A overlaps B, A contains B, A touches B

              |----A----|       A overlaps B, A touches B, A contains B
              |----B----|       A equals B, A starts with B, A ends with B

           |-------A-------|    A succeeds B, A starts with B
           |----B----|          A overlaps B, A contains B, A touches B

                 |----A----|    A succeeds B,
           |----B----|          A overlaps B, A touches B

                 |----A----|    A strictly succeeds B, A succeeds B
       |----B----|              A is next to B, A touches B

                   |----A----|  A strictly succeeds B,
       |----B----|              A succeeds B

Note

  These methods only check the range of the first to the last time in the period; use of combined time periods (SuperTimeRange s) might not give you the result you want.

See also

  `&amp;