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

Method overlaps

`bool strictly_preceeds(TimeRange what)`
`bool preceeds(TimeRange what)`
`bool is_previous_to(TimeRange what)`
`bool overlaps(TimeRange what)`
`bool contains(TimeRange what)`
`bool equals(TimeRange what)`
`bool is_next_to(TimeRange what)`
`bool succeeds(TimeRange what)`
`bool 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 (SuperTimeRanges) might not give you the result you want.