{-| Module : Data.IterLinkedList Description : A pure linked list which is mutable through iterators. Copyright : (c) CindyLinz, 2016 License : MIT Maintainer : cindylinz@gmail.com Portability : portable A pure linked list with is mutable through iterators. It's iternally implemented by 'Data.IntMap.Strict.IntMap' or 'Data.Map.Strict.Map' 'Integer', using 'Int' or 'Integer' as the iterator type respectly. Most of the operations cost @O(lg N)@. Each newly inserted element will consume a unique number and never reuse old numbers. Choose 'Int' one if you're sure that there're no more than 'Int' space times of insertions, or choose 'Integer' one otherwise. -} module Data.IterLinkedList ( IterLinkedList (..) , LinkedList , firstIter , lastIter ) where import Data.IterLinkedList.Internal