module StrBldr.ByteString.Lazy ( Str , Bldr , fromBuilder , toBuilder , splitAt , null , allMatches ) where import qualified Data.ByteString.Lazy as L (ByteString) import qualified Data.ByteString.Lazy as L.Byt import Data.ByteString.Builder (Builder) import qualified Data.ByteString.Builder as Byt.Bldr import Text.Regex.PCRE.Heavy (Regex) import qualified Text.Regex.PCRE.Heavy as Pcre.H import Prelude hiding (splitAt, null) type Str = L.ByteString type Bldr = Builder toBuilder :: Str -> Bldr toBuilder = Byt.Bldr.lazyByteString fromBuilder :: Bldr -> Str fromBuilder = Byt.Bldr.toLazyByteString null :: Str -> Bool null = L.Byt.null splitAt :: Int -> Str -> (Str, Str) splitAt n str = L.Byt.splitAt (fromIntegral n) str allMatches :: Regex -> Str -> [((Int, Int), [(Int, Int)])] allMatches = Pcre.H.scanRanges