Idris2Doc : Libraries.Data.PosMap

Libraries.Data.PosMap

(source)
Specialized implementation of an interval map with finger trees [1].
This data structure is meant to get efficiently data with a correlated NonEmptyFC.
The element data type must implement the `Measure` interface. An implementation
is provided already for NonEmptyFC and tuples with NonEmptyFC as first element.

[1] https://www.staff.city.ac.uk/~ross/papers/FingerTree.pdf

Definitions

FileRange : Type
Totality: total
Visibility: public export
interfaceMeasure : Type->Type
  Things that have an associated interval in the source files.

Parameters: a
Methods:
measure : a->FileRange

Implementations:
MeasureNonEmptyFC
Measure (NonEmptyFC, a)
measure : Measurea=>a->FileRange
Totality: total
Visibility: public export
map : MeasureRMb=> (a->b) ->Nodea->Nodeb
Totality: total
Visibility: export
traverse : (Applicativef, MeasureRMb) => (a->fb) ->Nodea->f (Nodeb)
Totality: total
Visibility: export
dataPosMap : Type->Type
Totality: total
Visibility: export
Constructors:
Empty : PosMapa
Single : a->PosMapa
Deep : RMFileRange->Digita->PosMap (Nodea) ->Digita->PosMapa

Hints:
FoldablePosMap
Showa=>Show (PosMapa)
(TTCa, Measurea) =>TTC (PosMapa)
empty : PosMapa
Totality: total
Visibility: export
singleton : a->PosMapa
Totality: total
Visibility: export
map : MeasureRMb=> (a->b) ->PosMapa->PosMapb
Totality: total
Visibility: export
traverse : (Applicativef, MeasureRMb) => (a->fb) ->PosMapa->f (PosMapb)
Totality: total
Visibility: export
takeUntil : MeasureRMa=> (Interval->Bool) ->PosMapa->PosMapa
Totality: total
Visibility: export
dropUntil : MeasureRMa=> (Interval->Bool) ->PosMapa->PosMapa
Totality: total
Visibility: export
insert : Measurea=>a->PosMapa->PosMapa
  Inserts a new element in the map, in lexicographical order.

Totality: total
Visibility: export
fromList : Measurea=>Lista->PosMapa
  Builds a new map from a list of measurable elements, inserting in
lexicographical order.

Totality: total
Visibility: export
union : Measurea=>PosMapa->PosMapa->PosMapa
  Merges two interval maps.

Totality: total
Visibility: export
inRange : MeasureRMa=>FilePos->FilePos->PosMapa->Lista
  Finds all the intervals that overlap with the given interval.

Totality: total
Visibility: export
exactRange : MeasureRMa=>FilePos->FilePos->PosMapa->Lista
  Finds the values matching the exact interval input

Totality: total
Visibility: export
searchPos : MeasureRMa=>FilePos->PosMapa->Lista
  Returns all the interval that contains the given point.

Totality: total
Visibility: export
intersections : MeasureRMa=>FileRange->PosMapa->Lista
  Returns all the intervals that intersect the given interval.

Totality: total
Visibility: export
dominators : MeasureRMa=>FileRange->PosMapa->Lista
  Returns all the intervals that contain the given interval.

Totality: total
Visibility: export
bounds : Measurea=>PosMapa->MaybeFileRange
  Returns the extreme boundaries of the map, if non empty.

Totality: total
Visibility: export