# `Tempo.IntervalSet.Backend.List`
[🔗](https://github.com/elixir-tempo/tempo/blob/v1.6.4/lib/tempo/interval_set/backend/list.ex#L1)

The default `Tempo.IntervalSet.Backend`: a sorted, disjoint plain
list of member intervals.

The backend state is the member list itself, so a struct literal
`%Tempo.IntervalSet{intervals: [...]}` is a valid list-backed set and
two list-backed sets with the same members compare equal with `==`.
Construction is O(n log n) (the sort in `Tempo.IntervalSet.new/2`),
the walk is the list, and every query is a linear scan — the right
trade for the small-to-medium sets that dominate ordinary use.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
