A class that is intended to make it easy to swap between different range map implementations.
Note that some RangeMap operations are not included in this class.
Methods
singleton :: Ranges -> a -> mThe map
singleton rs xcontains the ranges fromrs, and every position in those ranges is associated withx.toMap :: m -> IntMap aConverts range maps to IntMaps from positions to values.
toList :: m -> [(Range, a)]Converts the map to a list. The ranges are non-overlapping and non-empty, and earlier ranges precede later ones in the list.
coveringRange :: m -> Maybe RangeReturns the smallest range covering everything in the map (or Nothing, if the range would be empty).
Note that the default implementation of this operation might be inefficient.
Instances6IsBasicRangeMap
IsBasicRangeMap Aspects PositionMapDefined in Agda-2.7.0.1 · Agda.Interaction.Highlighting.PreciseIsBasicRangeMap Aspects RangePairDefined in Agda-2.7.0.1 · Agda.Interaction.Highlighting.PreciseIsBasicRangeMap Aspects (DelayedMerge PositionMap)Defined in Agda-2.7.0.1 · Agda.Interaction.Highlighting.PreciseIsBasicRangeMap Aspects (DelayedMerge RangePair)Defined in Agda-2.7.0.1 · Agda.Interaction.Highlighting.PreciseIsBasicRangeMap a (RangeMap a)Defined in Agda-2.7.0.1 · Agda.Utils.RangeMapSemigroup a => IsBasicRangeMap a (DelayedMerge (RangeMap a))Defined in Agda-2.7.0.1 · Agda.Interaction.Highlighting.Precise