-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Suffix arrays
--
-- Suffix arrays
@package suffixarray
@version 0.0.2
-- | Construction of suffix arrays (arrays ordered by suffix). Given an
-- array d elements, the suffix array is a sorted array of the
-- sub-arrays in d. For instance, the suffix array of banana
-- apple pear apple is:
--
--
-- - apple
-- - apple pear apple
-- - banana apple pear apple
-- - pear apple
--
module Data.SuffixArray
data SuffixArray a
SuffixArray :: (Vector a) -> (Vector Int) -> SuffixArray a
-- | fromList constructs a suffix array from a list of elements.
fromList :: Ord a => [a] -> SuffixArray a
-- | suffixArray is a specialization of suffixArrayBy that
-- uses the default compare function.
suffixArray :: Ord a => Vector a -> SuffixArray a
-- | suffixArrayBy constructs a suffix array. The sorting order is
-- determined by the supplied compare function.
suffixArrayBy :: Ord a => (Vector a -> Vector a -> Ordering) -> Vector a -> SuffixArray a
-- | toList constructs a list from a suffix array.
toList :: SuffixArray a -> [[a]]
instance Show a => Show (SuffixArray a)