Efficiently concatenate another ByteString.
Returns a read-only ByteBuffer that directly wraps this ByteString if it is not fragmented.
Scala API: Returns an immutable Iterable of read-only ByteBuffers that directly wraps this ByteStrings all fragments.
Scala API: Returns an immutable Iterable of read-only ByteBuffers that directly wraps this ByteStrings all fragments. Will always have at least one entry.
Create a new ByteString with all contents compacted into a single, full byte array.
Create a new ByteString with all contents compacted into a single, full byte array. If isCompact returns true, compact is an O(1) operation, but might return a different object with an optimized implementation.
Decodes this ByteString using a charset to produce a String.
Check whether this ByteString is compact in memory.
Check whether this ByteString is compact in memory. If the ByteString is compact, it might, however, not be represented by an object that takes full advantage of that fact. Use compact to get such an object.
Java API: efficiently concatenate another ByteString.
Copy as many bytes as possible to a ByteBuffer, starting from it's current position.
Copy as many bytes as possible to a ByteBuffer, starting from it's current position. This method will not overflow the buffer.
a ByteBuffer to copy bytes to
the number of bytes actually copied
Java API: Returns an Iterable of read-only ByteBuffers that directly wraps this ByteStrings all fragments.
Java API: Returns an Iterable of read-only ByteBuffers that directly wraps this ByteStrings all fragments. Will always have at least one entry.
map method that will automatically cast Int back into Byte.
(Changed in version 2.9.0) The behavior of scanRight
has changed. The previous behavior can be reproduced with scanRight.reverse.
Java API: copy this ByteString into a fresh byte array
Java API: copy this ByteString into a fresh byte array
this ByteString copied into a byte array
Creates a new ByteBuffer with a copy of all bytes contained in this ByteString.
(Changed in version 2.9.0) transpose
throws an IllegalArgumentException
if collections are not uniformly sized.
Decodes this ByteString as a UTF-8 encoded String.
(byteString: MonadOps[Byte]).filter(p)
(byteString: MonadOps[Byte]).flatMap(f)
(byteString: MonadOps[Byte]).map(f)
(byteString: StringAdd).self
(byteString: StringFormat).self
(byteString: MonadOps[Byte]).withFilter(p)
(Since version 2.10.0) use fold instead
(byteString: ArrowAssoc[ByteString]).x
(Since version 2.10.0) Use leftOfArrow
instead
(byteString: Ensuring[ByteString]).x
(Since version 2.10.0) Use resultOfEnsuring
instead
A rope-like immutable data structure containing bytes. The goal of this structure is to reduce copying of arrays when concatenating and slicing sequences of bytes, and also providing a thread safe way of working with bytes.
TODO: Add performance characteristics