stringsearch 0.3.6 → 0.3.6.1
raw patch · 15 files changed
+67/−65 lines, 15 files
Files
- CHANGES +2/−0
- Data/ByteString/Lazy/Search.hs +12/−12
- Data/ByteString/Lazy/Search/DFA.hs +11/−11
- Data/ByteString/Lazy/Search/Internal/BoyerMoore.hs +3/−3
- Data/ByteString/Lazy/Search/KMP.hs +3/−3
- Data/ByteString/Lazy/Search/KarpRabin.hs +1/−1
- Data/ByteString/Search.hs +10/−10
- Data/ByteString/Search/BoyerMoore.hs +1/−1
- Data/ByteString/Search/DFA.hs +9/−9
- Data/ByteString/Search/Internal/BoyerMoore.hs +3/−3
- Data/ByteString/Search/Internal/KnuthMorrisPratt.hs +6/−6
- Data/ByteString/Search/KMP.hs +2/−2
- Data/ByteString/Search/KarpRabin.hs +1/−1
- Data/ByteString/Search/Substitution.hs +2/−2
- stringsearch.cabal +1/−1
CHANGES view
@@ -1,3 +1,5 @@+0.3.6.1:+- fix error in docs 0.3.6: - fix typos in haddocks 0.3.5:
Data/ByteString/Lazy/Search.hs view
@@ -162,7 +162,7 @@ -- Exported Functions -- ------------------------------------------------------------------------------ --- | @indices@ finds the starting indices of all possibly overlapping+-- | @'indices'@ finds the starting indices of all possibly overlapping -- occurrences of the pattern in the target string. -- If the pattern is empty, the result is @[0 .. 'length' target]@. {-# INLINE indices #-}@@ -171,7 +171,7 @@ -> [Int64] -- ^ Offsets of matches indices = BM.matchSL --- | @nonOverlappingIndices@ finds the starting indices of all+-- | @'nonOverlappingIndices'@ finds the starting indices of all -- non-overlapping occurrences of the pattern in the target string. -- It is more efficient than removing indices from the list produced -- by 'indices'.@@ -181,7 +181,7 @@ -> [Int64] -- ^ Offsets of matches nonOverlappingIndices = BM.matchNOL --- | @breakOn pattern target@ splits @target@ at the first occurrence+-- | @'breakOn' pattern target@ splits @target@ at the first occurrence -- of @pattern@. If the pattern does not occur in the target, the -- second component of the result is empty, otherwise it starts with -- @pattern@. If the pattern is empty, the first component is empty.@@ -199,7 +199,7 @@ -- ^ Head and tail of string broken at substring breakOn = BM.breakSubstringL --- | @breakAfter pattern target@ splits @target@ behind the first occurrence+-- | @'breakAfter' pattern target@ splits @target@ behind the first occurrence -- of @pattern@. An empty second component means that either the pattern -- does not occur in the target or the first occurrence of pattern is at -- the very end of target. If you need to discriminate between those cases,@@ -219,7 +219,7 @@ -- ^ Head and tail of string broken after substring breakAfter = BM.breakAfterL --- | @breakFindAfter@ does the same as 'breakAfter' but additionally indicates+-- | @'breakFindAfter'@ does the same as 'breakAfter' but additionally indicates -- whether the pattern is present in the target. -- -- @@@ -233,7 +233,7 @@ -- and presence of pattern breakFindAfter = BM.breakFindAfterL --- | @replace pat sub text@ replaces all (non-overlapping) occurrences of+-- | @'replace' pat sub text@ replaces all (non-overlapping) occurrences of -- @pat@ in @text@ with @sub@. If occurrences of @pat@ overlap, the first -- occurrence that does not overlap with a replaced previous occurrence -- is substituted. Occurrences of @pat@ arising from a substitution@@ -242,10 +242,10 @@ -- @ -- 'replace' \"ana\" \"olog\" \"banana\" = \"bologna\" -- 'replace' \"ana\" \"o\" \"bananana\" = \"bono\"--- 'replace' \"aab\" \"abaa\" \"aaab\" = \"abaaab\"+-- 'replace' \"aab\" \"abaa\" \"aaabb\" = \"aabaab\" -- @ ----- The result is a /lazy/ 'L.ByteString',+-- The result is a lazy 'L.ByteString', -- which is lazily produced, without copying. -- Equality of pattern and substitution is not checked, but --@@ -272,7 +272,7 @@ -> L.ByteString -- ^ Lazy result replace = BM.replaceAllL --- | @split pattern target@ splits @target@ at each (non-overlapping)+-- | @'split' pattern target@ splits @target@ at each (non-overlapping) -- occurrence of @pattern@, removing @pattern@. If @pattern@ is empty, -- the result is an infinite list of empty 'L.ByteString's, if @target@ -- is empty but not @pattern@, the result is an empty list, otherwise@@ -292,7 +292,7 @@ -> [L.ByteString] -- ^ Fragments of string split = BM.splitDropL --- | @splitKeepEnd pattern target@ splits @target@ after each (non-overlapping)+-- | @'splitKeepEnd' pattern target@ splits @target@ after each (non-overlapping) -- occurrence of @pattern@. If @pattern@ is empty, the result is an -- infinite list of empty 'L.ByteString's, otherwise the following -- relations hold:@@ -309,7 +309,7 @@ -> [L.ByteString] -- ^ Fragments of string splitKeepEnd = BM.splitKeepEndL --- | @splitKeepFront@ is like 'splitKeepEnd', except that @target@ is split+-- | @'splitKeepFront'@ is like 'splitKeepEnd', except that @target@ is split -- before each occurrence of @pattern@ and hence all fragments -- with the possible exception of the first begin with @pattern@. -- No fragment contains more than one non-overlapping occurrence@@ -320,7 +320,7 @@ -> [L.ByteString] -- ^ Fragments of string splitKeepFront = BM.splitKeepFrontL --- | @strictify@ converts a lazy 'L.ByteString' to a strict 'S.ByteString'+-- | @'strictify'@ converts a lazy 'L.ByteString' to a strict 'S.ByteString' -- to make it a suitable pattern. strictify :: L.ByteString -> S.ByteString strictify = S.concat . L.toChunks
Data/ByteString/Lazy/Search/DFA.hs view
@@ -85,7 +85,7 @@ -- Exported Functions -- ------------------------------------------------------------------------------ --- | @indices@ finds the starting indices of all possibly overlapping+-- | @'indices'@ finds the starting indices of all possibly overlapping -- occurrences of the pattern in the target string. -- If the pattern is empty, the result is @[0 .. 'length' target]@. {-# INLINE indices #-}@@ -94,7 +94,7 @@ -> [Int64] -- ^ Offsets of matches indices !pat = lazySearcher True pat . L.toChunks --- | @nonOverlappingIndices@ finds the starting indices of all+-- | @'nonOverlappingIndices'@ finds the starting indices of all -- non-overlapping occurrences of the pattern in the target string. -- It is more efficient than removing indices from the list produced -- by 'indices'.@@ -104,7 +104,7 @@ -> [Int64] -- ^ Offsets of matches nonOverlappingIndices !pat = lazySearcher False pat . L.toChunks --- | @breakOn pattern target@ splits @target@ at the first occurrence+-- | @'breakOn' pattern target@ splits @target@ at the first occurrence -- of @pattern@. If the pattern does not occur in the target, the -- second component of the result is empty, otherwise it starts with -- @pattern@. If the pattern is empty, the first component is empty.@@ -125,7 +125,7 @@ breaker strs = let (f, b) = lbrk strs in (L.fromChunks f, L.fromChunks b) --- | @breakAfter pattern target@ splits @target@ behind the first occurrence+-- | @'breakAfter' pattern target@ splits @target@ behind the first occurrence -- of @pattern@. An empty second component means that either the pattern -- does not occur in the target or the first occurrence of pattern is at -- the very end of target. If you need to discriminate between those cases,@@ -147,7 +147,7 @@ breaker strs = let (f, b) = lbrk strs in (L.fromChunks f, L.fromChunks b) --- | @breakFindAfter@ does the same as 'breakAfter' but additionally indicates+-- | @'breakFindAfter'@ does the same as 'breakAfter' but additionally indicates -- whether the pattern is present in the target. -- -- @@@ -169,7 +169,7 @@ mbpat = L.fromChunks f1 in ((foldr LI.chunk mbpat f, L.fromChunks b1), not (null b)) --- | @replace pat sub text@ replaces all (non-overlapping) occurrences of+-- | @'replace' pat sub text@ replaces all (non-overlapping) occurrences of -- @pat@ in @text@ with @sub@. If occurrences of @pat@ overlap, the first -- occurrence that does not overlap with a replaced previous occurrence -- is substituted. Occurrences of @pat@ arising from a substitution@@ -178,10 +178,10 @@ -- @ -- 'replace' \"ana\" \"olog\" \"banana\" = \"bologna\" -- 'replace' \"ana\" \"o\" \"bananana\" = \"bono\"--- 'replace' \"aab\" \"abaa\" \"aaab\" = \"abaaab\"+-- 'replace' \"aab\" \"abaa\" \"aaabb\" = \"aabaab\" -- @ ----- The result is a /lazy/ 'L.ByteString',+-- The result is a lazy 'L.ByteString', -- which is lazily produced, without copying. -- Equality of pattern and substitution is not checked, but --@@ -223,7 +223,7 @@ in L.fromChunks . repl1 . L.toChunks --- | @split pattern target@ splits @target@ at each (non-overlapping)+-- | @'split' pattern target@ splits @target@ at each (non-overlapping) -- occurrence of @pattern@, removing @pattern@. If @pattern@ is empty, -- the result is an infinite list of empty 'L.ByteString's, if @target@ -- is empty but not @pattern@, the result is an empty list, otherwise@@ -258,7 +258,7 @@ [] -> [] _ -> splitter' (ldrop patLen mtch) --- | @splitKeepEnd pattern target@ splits @target@ after each (non-overlapping)+-- | @'splitKeepEnd' pattern target@ splits @target@ after each (non-overlapping) -- occurrence of @pattern@. If @pattern@ is empty, the result is an -- infinite list of empty 'L.ByteString's, otherwise the following -- relations hold:@@ -282,7 +282,7 @@ case breaker strs of (pre, mtch) -> pre : splitter mtch --- | @splitKeepFront@ is like 'splitKeepEnd', except that @target@ is split+-- | @'splitKeepFront'@ is like 'splitKeepEnd', except that @target@ is split -- before each occurrence of @pattern@ and hence all fragments -- with the possible exception of the first begin with @pattern@. -- No fragment contains more than one non-overlapping occurrence
Data/ByteString/Lazy/Search/Internal/BoyerMoore.hs view
@@ -183,7 +183,7 @@ -- -- is a much more efficient version of 'S.isInfixOf'. --- | @matchLL@ finds the starting indices of all possibly overlapping+-- | @'matchLL'@ finds the starting indices of all possibly overlapping -- occurrences of the pattern in the target string. -- It is a simple wrapper for 'Data.ByteString.Lazy.Search.indices'. -- If the pattern is empty, the result is @[0 .. 'length' target]@.@@ -195,7 +195,7 @@ where search = lazySearcher True (strictify pat) --- | @matchSL@ finds the starting indices of all possibly overlapping+-- | @'matchSL'@ finds the starting indices of all possibly overlapping -- occurrences of the pattern in the target string. -- It is an alias for 'Data.ByteString.Lazy.Search.indices'. -- If the pattern is empty, the result is @[0 .. 'length' target]@.@@ -207,7 +207,7 @@ where search = lazySearcher True pat --- | matchNOL finds the indices of all non-overlapping occurrences+-- | @'matchNOL'@ finds the indices of all non-overlapping occurrences -- of the pattern in the lazy target string. {-# INLINE matchNOL #-} matchNOL :: S.ByteString -- ^ Strict pattern
Data/ByteString/Lazy/Search/KMP.hs view
@@ -68,7 +68,7 @@ -- pattern, the auxiliary data will be computed only once, allowing for -- efficient re-use. --- | @indices@ finds the starting indices of all possibly overlapping+-- | @'indices'@ finds the starting indices of all possibly overlapping -- occurrences of the pattern in the target string. -- If the pattern is empty, the result is @[0 .. 'length' target]@. {-# INLINE indices #-}@@ -77,7 +77,7 @@ -> [Int64] -- ^ Offsets of matches indices = indicesL --- | @nonOverlappingIndices@ finds the starting indices of all+-- | @'nonOverlappingIndices'@ finds the starting indices of all -- non-overlapping occurrences of the pattern in the target string. -- It is more efficient than removing indices from the list produced -- by 'indices'.@@ -87,7 +87,7 @@ -> [Int64] -- ^ Offsets of matches nonOverlappingIndices = matchSL --- | @strictify@ transforms a lazy 'L.ByteString' into a strict+-- | @'strictify'@ transforms a lazy 'L.ByteString' into a strict -- 'S.ByteString', to make it a suitable pattern for the searching -- functions. strictify :: L.ByteString -> S.ByteString
Data/ByteString/Lazy/Search/KarpRabin.hs view
@@ -87,7 +87,7 @@ -- Nevertheless, this module seems more of an interesting curiosity than -- anything else. --- | @indicesOfAny@ finds all occurrences of any of several non-empty strict+-- | @'indicesOfAny'@ finds all occurrences of any of several non-empty strict -- patterns in a lazy target string. If no non-empty patterns are given, -- the result is an empty list. Otherwise the result list contains -- the pairs of all indices where any of the (non-empty) patterns start
Data/ByteString/Search.hs view
@@ -115,7 +115,7 @@ -- Exported Functions -- ------------------------------------------------------------------------------ --- | @indices@ finds the starting indices of all possibly overlapping+-- | @'indices'@ finds the starting indices of all possibly overlapping -- occurrences of the pattern in the target string. -- If the pattern is empty, the result is @[0 .. 'length' target]@. --@@ -127,7 +127,7 @@ -> [Int] -- ^ Offsets of matches indices = BM.matchSS --- | @nonOverlappingIndices@ finds the starting indices of all+-- | @'nonOverlappingIndices'@ finds the starting indices of all -- non-overlapping occurrences of the pattern in the target string. -- It is more efficient than removing indices from the list produced -- by 'indices'.@@ -137,7 +137,7 @@ -> [Int] -- ^ Offsets of matches nonOverlappingIndices = BM.matchNOS --- | @breakOn pattern target@ splits @target@ at the first occurrence+-- | @'breakOn' pattern target@ splits @target@ at the first occurrence -- of @pattern@. If the pattern does not occur in the target, the -- second component of the result is empty, otherwise it starts with -- @pattern@. If the pattern is empty, the first component is empty.@@ -152,7 +152,7 @@ -- ^ Head and tail of string broken at substring breakOn = BM.breakSubstringS --- | @breakAfter pattern target@ splits @target@ behind the first occurrence+-- | @'breakAfter' pattern target@ splits @target@ behind the first occurrence -- of @pattern@. An empty second component means that either the pattern -- does not occur in the target or the first occurrence of pattern is at -- the very end of target. To discriminate between those cases, use e.g.@@ -168,7 +168,7 @@ -- ^ Head and tail of string broken after substring breakAfter = BM.breakAfterS --- | @replace pat sub text@ replaces all (non-overlapping) occurrences of+-- | @'replace' pat sub text@ replaces all (non-overlapping) occurrences of -- @pat@ in @text@ with @sub@. If occurrences of @pat@ overlap, the first -- occurrence that does not overlap with a replaced previous occurrence -- is substituted. Occurrences of @pat@ arising from a substitution@@ -177,7 +177,7 @@ -- @ -- 'replace' \"ana\" \"olog\" \"banana\" = \"bologna\" -- 'replace' \"ana\" \"o\" \"bananana\" = \"bono\"--- 'replace' \"aab\" \"abaa\" \"aaab\" = \"abaaab\"+-- 'replace' \"aab\" \"abaa\" \"aaabb\" = \"aabaab\" -- @ -- -- The result is a /lazy/ 'L.ByteString',@@ -189,7 +189,7 @@ -- @ -- -- holds. If the pattern is empty but not the substitution, the result--- is equivalent to (were they 'String's) @cycle sub@.+-- is equivalent to (were they 'String's) @'cycle' sub@. -- -- For non-empty @pat@ and @sub@ a strict 'S.ByteString', --@@ -206,7 +206,7 @@ -> L.ByteString -- ^ Lazy result replace = BM.replaceAllS --- | @split pattern target@ splits @target@ at each (non-overlapping)+-- | @'split' pattern target@ splits @target@ at each (non-overlapping) -- occurrence of @pattern@, removing @pattern@. If @pattern@ is empty, -- the result is an infinite list of empty 'S.ByteString's, if @target@ -- is empty but not @pattern@, the result is an empty list, otherwise@@ -225,7 +225,7 @@ -> [S.ByteString] -- ^ Fragments of string split = BM.splitDropS --- | @splitKeepEnd pattern target@ splits @target@ after each (non-overlapping)+-- | @'splitKeepEnd' pattern target@ splits @target@ after each (non-overlapping) -- occurrence of @pattern@. If @pattern@ is empty, the result is an -- infinite list of empty 'S.ByteString's, otherwise the following -- relations hold:@@ -242,7 +242,7 @@ -> [S.ByteString] -- ^ Fragments of string splitKeepEnd = BM.splitKeepEndS --- | @splitKeepFront@ is like 'splitKeepEnd', except that @target@ is split+-- | @'splitKeepFront'@ is like 'splitKeepEnd', except that @target@ is split -- before each occurrence of @pattern@ and hence all fragments -- with the possible exception of the first begin with @pattern@. -- No fragment contains more than one non-overlapping occurrence
Data/ByteString/Search/BoyerMoore.hs view
@@ -8,7 +8,7 @@ -- Portability : non-portable (BangPatterns) -- -- Fast overlapping Boyer-Moore search of both strict and lazy--- 'S.ByteString' values.+-- 'ByteString' values. -- -- Descriptions of the algorithm can be found at -- <http://www-igm.univ-mlv.fr/~lecroq/string/node14.html#SECTION00140>
Data/ByteString/Search/DFA.hs view
@@ -82,7 +82,7 @@ -- Exported Functions -- ------------------------------------------------------------------------------ --- | @indices@ finds the starting indices of all possibly overlapping+-- | @'indices'@ finds the starting indices of all possibly overlapping -- occurrences of the pattern in the target string. -- If the pattern is empty, the result is @[0 .. 'length' target]@. {-# INLINE indices #-}@@ -91,7 +91,7 @@ -> [Int] -- ^ Offsets of matches indices = strictSearcher True --- | @nonOverlappingIndices@ finds the starting indices of all+-- | @'nonOverlappingIndices'@ finds the starting indices of all -- non-overlapping occurrences of the pattern in the target string. -- It is more efficient than removing indices from the list produced -- by 'indices'.@@ -101,7 +101,7 @@ -> [Int] -- ^ Offsets of matches nonOverlappingIndices = strictSearcher False --- | @breakOn pattern target@ splits @target@ at the first occurrence+-- | @'breakOn' pattern target@ splits @target@ at the first occurrence -- of @pattern@. If the pattern does not occur in the target, the -- second component of the result is empty, otherwise it starts with -- @pattern@. If the pattern is empty, the first component is empty.@@ -120,7 +120,7 @@ [] -> (str, S.empty) (i:_) -> S.splitAt i str --- | @breakAfter pattern target@ splits @target@ behind the first occurrence+-- | @'breakAfter' pattern target@ splits @target@ behind the first occurrence -- of @pattern@. An empty second component means that either the pattern -- does not occur in the target or the first occurrence of pattern is at -- the very end of target. To discriminate between those cases, use e.g.@@ -142,7 +142,7 @@ (i:_) -> S.splitAt (i + patLen) str --- | @replace pat sub text@ replaces all (non-overlapping) occurrences of+-- | @'replace' pat sub text@ replaces all (non-overlapping) occurrences of -- @pat@ in @text@ with @sub@. If occurrences of @pat@ overlap, the first -- occurrence that does not overlap with a replaced previous occurrence -- is substituted. Occurrences of @pat@ arising from a substitution@@ -151,7 +151,7 @@ -- @ -- 'replace' \"ana\" \"olog\" \"banana\" = \"bologna\" -- 'replace' \"ana\" \"o\" \"bananana\" = \"bono\"--- 'replace' \"aab\" \"abaa\" \"aaab\" = \"abaaab\"+-- 'replace' \"aab\" \"abaa\" \"aaabb\" = \"aabaab\" -- @ -- -- The result is a /lazy/ 'L.ByteString',@@ -197,7 +197,7 @@ in replacer in \sub -> L.fromChunks . repl sub --- | @split pattern target@ splits @target@ at each (non-overlapping)+-- | @'split' pattern target@ splits @target@ at each (non-overlapping) -- occurrence of @pattern@, removing @pattern@. If @pattern@ is empty, -- the result is an infinite list of empty 'S.ByteString's, if @target@ -- is empty but not @pattern@, the result is an empty list, otherwise@@ -229,7 +229,7 @@ [] -> [str] (i:_) -> S.take i str : splitter' (S.drop (i + patLen) str) --- | @splitKeepEnd pattern target@ splits @target@ after each (non-overlapping)+-- | @'splitKeepEnd' pattern target@ splits @target@ after each (non-overlapping) -- occurrence of @pattern@. If @pattern@ is empty, the result is an -- infinite list of empty 'S.ByteString's, otherwise the following -- relations hold:@@ -257,7 +257,7 @@ (i:_) -> S.take (i + patLen) str : splitter (S.drop (i + patLen) str) --- | @splitKeepFront@ is like 'splitKeepEnd', except that @target@ is split+-- | @'splitKeepFront'@ is like 'splitKeepEnd', except that @target@ is split -- before each occurrence of @pattern@ and hence all fragments -- with the possible exception of the first begin with @pattern@. -- No fragment contains more than one non-overlapping occurrence
Data/ByteString/Search/Internal/BoyerMoore.hs view
@@ -182,7 +182,7 @@ -- -- is a much more efficient version of 'S.isInfixOf'. --- | @matchLS@ finds the starting indices of all possibly overlapping+-- | @'matchLS'@ finds the starting indices of all possibly overlapping -- occurrences of the pattern in the target string. -- It is a simple wrapper for 'Data.ByteString.Search.indices'. -- If the pattern is empty, the result is @[0 .. 'length' target]@.@@ -194,7 +194,7 @@ where search = strictSearcher True (strictify pat) --- | @matchSS@ finds the starting indices of all possibly overlapping+-- | @'matchSS'@ finds the starting indices of all possibly overlapping -- occurrences of the pattern in the target string. -- It is an alias for 'Data.ByteString.Search.indices'. -- If the pattern is empty, the result is @[0 .. 'length' target]@.@@ -206,7 +206,7 @@ where search = strictSearcher True pat --- | matchNOS finds the indices of all non-overlapping occurrences+-- | @'matchNOS'@ finds the indices of all non-overlapping occurrences -- of the pattern in the Strict target string. {-# INLINE matchNOS #-} matchNOS :: S.ByteString -- ^ Strict pattern
Data/ByteString/Search/Internal/KnuthMorrisPratt.hs view
@@ -104,7 +104,7 @@ -- Wrappers -- ------------------------------------------------------------------------------ --- | @indicesL@ finds all indices of (possibly overlapping)+-- | @'indicesL'@ finds all indices of (possibly overlapping) -- occurrences of the pattern in the target string. {-# INLINE indicesL #-} indicesL :: S.ByteString -- ^ Strict pattern@@ -114,7 +114,7 @@ where search = matcher True pat --- | @indicesS@ finds all indices of (possibly overlapping)+-- | @'indicesS'@ finds all indices of (possibly overlapping) -- occurrences of the pattern in the target string. {-# INLINE indicesS #-} indicesS :: S.ByteString -- ^ Strict pattern@@ -124,7 +124,7 @@ where search = matcher True pat --- | @matchLL@ finds the starting indices of all /non-overlapping/ occurrences+-- | @'matchLL'@ finds the starting indices of all /non-overlapping/ occurrences -- of the pattern in the target string. It is a simple wrapper around -- 'Data.ByteString.Lazy.Search.KMP.nonOverlappingIndices' strictifying -- the pattern.@@ -137,7 +137,7 @@ !spat = strictify pat search = matcher False spat --- | @matchLS@ finds the starting indices of all /non-overlapping/ occurrences+-- | @'matchLS'@ finds the starting indices of all /non-overlapping/ occurrences -- of the pattern in the target string. It is a simple wrapper around -- 'Data.ByteString.Search.KMP.nonOverlappingIndices' strictifying -- the pattern.@@ -150,7 +150,7 @@ !spat = strictify pat search = matcher False spat --- | @matchSS@ finds the starting indices of all /non-overlapping/ occurrences+-- | @'matchSS'@ finds the starting indices of all /non-overlapping/ occurrences -- of the pattern in the target string. It is an alias for -- 'Data.ByteString.Search.KMP.nonOverlappingIndices'. {-# INLINE matchSS #-}@@ -161,7 +161,7 @@ where search = matcher False pat --- | @matchSL@ finds the starting indices of all /non-overlapping/ occurrences+-- | @'matchSL'@ finds the starting indices of all /non-overlapping/ occurrences -- of the pattern in the target string. It is an alias for -- 'Data.ByteString.Lazy.Search.KMP.nonOverlappingIndices'. {-# INLINE matchSL #-}
Data/ByteString/Search/KMP.hs view
@@ -57,7 +57,7 @@ -- pattern, the auxiliary data will be computed only once, allowing for -- efficient re-use. --- | @indices@ finds the starting indices of all possibly overlapping+-- | @'indices'@ finds the starting indices of all possibly overlapping -- occurrences of the pattern in the target string. -- If the pattern is empty, the result is @[0 .. 'length' target]@. {-# INLINE indices #-}@@ -66,7 +66,7 @@ -> [Int] -- ^ Offsets of matches indices = indicesS --- | @nonOverlappingIndices@ finds the starting indices of all+-- | @'nonOverlappingIndices'@ finds the starting indices of all -- non-overlapping occurrences of the pattern in the target string. -- It is more efficient than removing indices from the list produced -- by 'indices'.
Data/ByteString/Search/KarpRabin.hs view
@@ -81,7 +81,7 @@ -- In summary, this module is more of an interesting curiosity than anything -- else. --- | @indicesOfAny@ finds all occurrences of any of several non-empty patterns+-- | @'indicesOfAny'@ finds all occurrences of any of several non-empty patterns -- in a strict target string. If no non-empty patterns are given, -- the result is an empty list. Otherwise the result list contains -- the pairs of all indices where any of the (non-empty) patterns start
Data/ByteString/Search/Substitution.hs view
@@ -19,10 +19,10 @@ -- on ByteStrings. Instances for strict and lazy ByteStrings are -- provided here. class Substitution a where- -- | @substitution@ transforms a value to a substitution function.+ -- | @'substitution'@ transforms a value to a substitution function. substitution :: a -> ([S.ByteString] -> [S.ByteString]) {-# INLINE substitution #-}- -- | @prependCycle sub lazyBS@ shall prepend infinitely many copies+ -- | @'prependCycle' sub lazyBS@ shall prepend infinitely many copies -- of @sub@ to @lazyBS@ without entering an infinite loop in case -- of an empty @sub@, so e.g. --
stringsearch.cabal view
@@ -7,7 +7,7 @@ -- The package version. See the Haskell package versioning policy -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for -- standards guiding when and how versions should be incremented.-Version: 0.3.6+Version: 0.3.6.1 Homepage: https://bitbucket.org/dafis/stringsearch Bug-reports: https://bitbucket.org/dafis/stringsearch/issues