@@ -28,6 +28,7 @@ module Data.Attoparsec.Text.Buffer
30 , unbuffer
30 , unbuffer
@@ -74,6 +75,11 @@ buffer (Text arr off len) = Buf arr off len len 0
74unbuffer :: Buffer -> Text
75unbuffer :: Buffer -> Text
75unbuffer (Buf arr off len _ _) = Text arr off len
76unbuffer (Buf arr off len _ _) = Text arr off len
78+unbufferAt :: Int -> Buffer -> Text
79+unbufferAt s (Buf arr off len _ _) =
80+ assert (s >= 0 && s <= len) $
81+ Text arr (off+s) (len-s)
77instance Monoid Buffer where
83instance Monoid Buffer where
78 mempty = Buf A.empty 0 0 0 0
84 mempty = Buf A.empty 0 0 0 0