-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | An efficient strict bytestring builder
--   
--   According to <a>the competition benchmarks</a>, this library provides
--   on average the fastest builder of strict bytestrings.
--   
--   Practical benchmarks have proven it to be highly performant as well.
--   The encoders from the "postgresql-binary" library have shown a stable
--   performance improvement by factors of up to 10 after the migration
--   from the standard builder to "bytestring-strict-builder".
@package bytestring-strict-builder
@version 0.4.5

module ByteString.StrictBuilder
data Builder

-- | Efficiently constructs a strict bytestring.
builderBytes :: Builder -> ByteString

-- | Converts into the standard lazy bytestring builder. Does so
--   efficiently using the internal APIs of "bytestring", without producing
--   any intermediate representation.
builderChunksBuilder :: Builder -> Builder

-- | <i>O(1)</i>. Gets the size of the bytestring that is to be produced.
builderLength :: Builder -> Int

-- | Use the builder to populate a buffer. It is your responsibility to
--   ensure that the bounds are not exceeded.
builderPtrFiller :: Builder -> (Int -> (Ptr Word8 -> IO ()) -> result) -> result
bytes :: ByteString -> Builder
lazyBytes :: ByteString -> Builder
asciiIntegral :: Integral a => a -> Builder
asciiChar :: Char -> Builder
utf8Char :: Char -> Builder
storable :: Storable a => a -> Builder
word8 :: Word8 -> Builder
word16BE :: Word16 -> Builder
word32BE :: Word32 -> Builder
word64BE :: Word64 -> Builder
int8 :: Int8 -> Builder
int16BE :: Int16 -> Builder
int32BE :: Int32 -> Builder
int64BE :: Int64 -> Builder
instance GHC.Base.Monoid ByteString.StrictBuilder.Builder
instance Data.Semigroup.Semigroup ByteString.StrictBuilder.Builder
instance Data.String.IsString ByteString.StrictBuilder.Builder
instance GHC.Show.Show ByteString.StrictBuilder.Builder
