Object/Class

scodec.bits

BitVector

Related Docs: class BitVector | package bits

Permalink

object BitVector extends Serializable

Companion for BitVector.

Source
BitVector.scala
Linear Supertypes
Serializable, Serializable, AnyRef, Any
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. BitVector
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. implicit final class GroupedOp extends AnyVal

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def apply[A](bytes: A*)(implicit arg0: Integral[A]): BitVector

    Permalink

    Constructs a BitVector from a list of literal bytes.

    Constructs a BitVector from a list of literal bytes. Only the least significant byte is used of each integral value.

  5. def apply(bs: IterableOnce[Byte]): BitVector

    Permalink

    Constructs a BitVector from a collection of bytes.

  6. def apply(bs: Array[Byte]): BitVector

    Permalink

    Constructs a BitVector from an Array[Byte].

    Constructs a BitVector from an Array[Byte]. The given Array[Byte] is is copied to ensure the resulting BitVector is immutable. If this is not desired, use BitVector.view.

  7. def apply(buffer: ByteBuffer): BitVector

    Permalink

    Constructs a BitVector from a ByteBuffer.

    Constructs a BitVector from a ByteBuffer. The given ByteBuffer is is copied to ensure the resulting BitVector is immutable. If this is not desired, use BitVector.view.

  8. def apply(bs: ByteVector): BitVector

    Permalink

    Constructs a BitVector from a ByteVector.

    Constructs a BitVector from a ByteVector. This method has runtime O(1).

  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. def bit(high: Boolean): BitVector

    Permalink

    1-bit vector with only bit set to specified value.

  11. def bits(b: Iterable[Boolean]): BitVector

    Permalink

    n-bit vector with bit at index i set to value of boolean at index i in specified iterable.

  12. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def concat(vs: Vector[BitVector]): BitVector

    Permalink

    Concatenate vs to produce a single BitVector.

  14. def concat(bvs: IterableOnce[BitVector]): BitVector

    Permalink

    Concatenates all the given BitVectors into a single instance.

  15. val empty: BitVector

    Permalink

    Empty bit vector.

  16. def encodeAscii(str: String): Either[CharacterCodingException, BitVector]

    Permalink

    Encodes the specified string to a BitVector using the US-ASCII charset.

  17. def encodeString(str: String)(implicit charset: Charset): Either[CharacterCodingException, BitVector]

    Permalink

    Encodes the specified string to a BitVector using the implicitly available Charset.

  18. def encodeUtf8(str: String): Either[CharacterCodingException, BitVector]

    Permalink

    Encodes the specified string to a BitVector using the UTF-8 charset.

  19. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  21. def fill(n: Long)(high: Boolean): BitVector

    Permalink

    Constructs an n-bit BitVector where each bit is set to the specified value.

  22. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. def fromBase58(str: String, alphabet: Alphabet = Bases.Alphabets.Base58): Option[BitVector]

    Permalink

    Constructs a BitVector from a base 58 string or returns None if the string is not valid base 58.

    Constructs a BitVector from a base 58 string or returns None if the string is not valid base 58. Details pertaining to base 58 decoding can be found in the comment for ByteVector.fromBase58Descriptive. The string may contain whitespace characters which are ignored.

  24. def fromBase58Descriptive(str: String, alphabet: Alphabet = Bases.Alphabets.Base58): Either[String, BitVector]

    Permalink

    Constructs a BitVector from a base 58 string or returns an error message if the string is not valid base 58.

    Constructs a BitVector from a base 58 string or returns an error message if the string is not valid base 58. Details pertaining to base 58 decoding can be found in the comment for ByteVector.fromBase58Descriptive. The string may contain whitespace characters which are ignored.

  25. def fromBase64(str: String, alphabet: Base64Alphabet = Bases.Alphabets.Base64): Option[BitVector]

    Permalink

    Constructs a BitVector from a base 64 string or returns None if the string is not valid base 64.

    Constructs a BitVector from a base 64 string or returns None if the string is not valid base 64. Details pertaining to base 64 decoding can be found in the comment for ByteVector.fromBase64Descriptive. The string may contain whitespace characters which are ignored.

  26. def fromBase64Descriptive(str: String, alphabet: Base64Alphabet = Bases.Alphabets.Base64): Either[String, BitVector]

    Permalink

    Constructs a BitVector from a base 64 string or returns an error message if the string is not valid base 64.

    Constructs a BitVector from a base 64 string or returns an error message if the string is not valid base 64. Details pertaining to base 64 decoding can be found in the comment for ByteVector.fromBase64Descriptive. The string may contain whitespace characters which are ignored.

  27. def fromBin(str: String, alphabet: BinaryAlphabet = Bases.Alphabets.Binary): Option[BitVector]

    Permalink

    Constructs a BitVector from a binary string or returns None if the string is not valid binary.

    Constructs a BitVector from a binary string or returns None if the string is not valid binary.

    The string may start with a 0b and it may contain whitespace or underscore characters.

  28. def fromBinDescriptive(str: String, alphabet: BinaryAlphabet = Bases.Alphabets.Binary): Either[String, BitVector]

    Permalink

    Constructs a BitVector from a binary string or returns an error message if the string is not valid binary.

    Constructs a BitVector from a binary string or returns an error message if the string is not valid binary.

    The string may start with a 0b and it may contain whitespace or underscore characters.

  29. def fromByte(b: Byte, size: Int = 8): BitVector

    Permalink

    Constructs a bit vector with the 2's complement encoding of the specified byte.

    Constructs a bit vector with the 2's complement encoding of the specified byte.

    size

    size of vector (<= 8)

  30. def fromChannel(in: ReadableByteChannel, chunkSizeInBytes: Int = 1024 * 1000 * 16, direct: Boolean = false): BitVector

    Permalink

    Produce a lazy BitVector from the given ReadableByteChannel, using chunkSizeInBytes to control the number of bytes read in each chunk (defaulting to 16MB).

    Produce a lazy BitVector from the given ReadableByteChannel, using chunkSizeInBytes to control the number of bytes read in each chunk (defaulting to 16MB). This function does lazy I/O, see scodec.bits.BitVector.fromInputStream for caveats. The direct parameter, if true, allows for (but does not enforce) using a 'direct' java.nio.ByteBuffer for each chunk, which means the buffer and corresponding BitVector chunk may be backed by a 'view' rather than an in-memory array. This may be more efficient for some workloads. See java.nio.ByteBuffer for more information.

    chunkSizeInBytes

    the number of bytes to read in each chunk

    direct

    true if we should attempt to use a 'direct' java.nio.ByteBuffer for reads

  31. def fromHex(str: String, alphabet: HexAlphabet = Bases.Alphabets.HexLowercase): Option[BitVector]

    Permalink

    Constructs a BitVector from a hexadecimal string or returns None if the string is not valid hexadecimal.

    Constructs a BitVector from a hexadecimal string or returns None if the string is not valid hexadecimal.

    The string may start with a 0x and it may contain whitespace or underscore characters.

  32. def fromHexDescriptive(str: String, alphabet: HexAlphabet = Bases.Alphabets.HexLowercase): Either[String, BitVector]

    Permalink

    Constructs a BitVector from a hexadecimal string or returns an error message if the string is not valid hexadecimal.

    Constructs a BitVector from a hexadecimal string or returns an error message if the string is not valid hexadecimal.

    The string may start with a 0x and it may contain whitespace or underscore characters.

  33. def fromInputStream(in: InputStream, chunkSizeInBytes: Int = 1024 * 1000 * 16): BitVector

    Permalink

    Produce a lazy BitVector from the given InputStream, using chunkSizeInBytes to control the number of bytes read in each chunk (defaulting to 16MB).

    Produce a lazy BitVector from the given InputStream, using chunkSizeInBytes to control the number of bytes read in each chunk (defaulting to 16MB). This simply calls scodec.bits.BitVector.unfold with a function to extract a series of flat byte arrays from the InputStream.

    This function does not handle closing the InputStream and has all the usual drawbacks of lazy I/O - I/O exceptions may be raised unexpectedly in pure code as chunks are forced, and it must memoize the results to prevent the underlying side effects from being observed. Streaming applications should take care to ensure that the head of the stream is not left on the stack, as this will cause the entire stream to be retained in memory.

    chunkSizeInBytes

    the number of bytes to read in each chunk

  34. def fromInt(i: Int, size: Int = 32, ordering: ByteOrdering = ByteOrdering.BigEndian): BitVector

    Permalink

    Constructs a bit vector with the 2's complement encoding of the specified value.

    Constructs a bit vector with the 2's complement encoding of the specified value.

    i

    value to encode

    size

    size of vector (<= 32)

    ordering

    byte ordering of vector

  35. def fromLong(l: Long, size: Int = 64, ordering: ByteOrdering = ByteOrdering.BigEndian): BitVector

    Permalink

    Constructs a bit vector with the 2's complement encoding of the specified value.

    Constructs a bit vector with the 2's complement encoding of the specified value.

    size

    size of vector (<= 64)

    ordering

    byte ordering of vector

  36. def fromMmap(in: FileChannel, chunkSizeInBytes: Int = 1024 * 1000 * 16): BitVector

    Permalink

    Produce a lazy BitVector from the given FileChannel, using chunkSizeInBytes to control the number of bytes read in each chunk (defaulting to 16MB).

    Produce a lazy BitVector from the given FileChannel, using chunkSizeInBytes to control the number of bytes read in each chunk (defaulting to 16MB). Unlike scodec.bits.BitVector.fromChannel, this memory-maps chunks in, rather than copying them explicitly.

    Behavior is unspecified if this function is used concurrently with the underlying file being written.

    chunkSizeInBytes

    the number of bytes to read in each chunk

  37. def fromShort(s: Short, size: Int = 16, ordering: ByteOrdering = ByteOrdering.BigEndian): BitVector

    Permalink

    Constructs a bit vector with the 2's complement encoding of the specified value.

    Constructs a bit vector with the 2's complement encoding of the specified value.

    s

    value to encode

    size

    size of vector (<= 16)

    ordering

    byte ordering of vector

  38. final def fromUUID(u: UUID): BitVector

    Permalink

    Constructs a bit vector containing the binary representation of the specified UUID.

    Constructs a bit vector containing the binary representation of the specified UUID. The bits are in MSB-to-LSB order.

    u

    value to encode

  39. def fromValidBase58(str: String, alphabet: Alphabet = Bases.Alphabets.Base58): BitVector

    Permalink

    Constructs a BitVector from a base 58 string or throws an IllegalArgumentException if the string is not valid base 58.

    Constructs a BitVector from a base 58 string or throws an IllegalArgumentException if the string is not valid base 58. Details pertaining to base 58 decoding can be found in the comment for ByteVector.fromBase58Descriptive. The string may contain whitespace characters which are ignored.

    Exceptions thrown

    IllegalArgumentException if the string is not valid base 58

  40. def fromValidBase64(str: String, alphabet: Base64Alphabet = Bases.Alphabets.Base64): BitVector

    Permalink

    Constructs a BitVector from a base 64 string or throws an IllegalArgumentException if the string is not valid base 64.

    Constructs a BitVector from a base 64 string or throws an IllegalArgumentException if the string is not valid base 64. Details pertaining to base 64 decoding can be found in the comment for ByteVector.fromBase64Descriptive. The string may contain whitespace characters which are ignored.

    Exceptions thrown

    IllegalArgumentException if the string is not valid base 64

  41. def fromValidBin(str: String, alphabet: BinaryAlphabet = Bases.Alphabets.Binary): BitVector

    Permalink

    Constructs a BitVector from a binary string or throws an IllegalArgumentException if the string is not valid binary.

    Constructs a BitVector from a binary string or throws an IllegalArgumentException if the string is not valid binary.

    The string may start with a 0b and it may contain whitespace or underscore characters.

    Exceptions thrown

    IllegalArgumentException if the string is not valid hexadecimal

  42. def fromValidHex(str: String, alphabet: HexAlphabet = Bases.Alphabets.HexLowercase): BitVector

    Permalink

    Constructs a BitVector from a hexadecimal string or throws an IllegalArgumentException if the string is not valid hexadecimal.

    Constructs a BitVector from a hexadecimal string or throws an IllegalArgumentException if the string is not valid hexadecimal.

    The string may start with a 0x and it may contain whitespace or underscore characters.

    Exceptions thrown

    IllegalArgumentException if the string is not valid hexadecimal

  43. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  44. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  45. def high(n: Long): BitVector

    Permalink

    n-bit vector with all bits set high.

  46. val highByte: BitVector

    Permalink

    8-bit vector with all bits set high.

  47. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  48. def low(n: Long): BitVector

    Permalink

    n-bit vector with all bits set low.

  49. val lowByte: BitVector

    Permalink

    8-bit vector with all bits set low.

  50. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  51. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  52. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  53. val one: BitVector

    Permalink

    1-bit vector with only bit set high.

  54. def reverseBitsInByte(b: Byte): Byte

    Permalink

    Returns the bitwise reversal of the provided byte.

  55. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  56. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  57. def unfold[S](s: S)(f: (S) ⇒ Option[(BitVector, S)]): BitVector

    Permalink

    Create a lazy BitVector by repeatedly extracting chunks from S.

    Create a lazy BitVector by repeatedly extracting chunks from S. The returned BitVector will have the structure of a fully lazy right-associated cons list. Thus, get, take, and drop will be efficient when operating on the head of the list, but accessing later indices (for takeRight, say, or get(size-1) will require forcing the stream up to that point.

    Use force if you wish to convert the result to an in-memory strict BitVector backed by a balanced tree.

  58. def view(bs: Array[Byte], sizeInBits: Long): BitVector

    Permalink

    Constructs a BitVector from an Array[Byte].

    Constructs a BitVector from an Array[Byte]. Unlike apply, this does not make a copy of the input array, so callers should take care not to modify the contents of the array passed to this function.

  59. def view(bs: Array[Byte]): BitVector

    Permalink

    Constructs a BitVector from an Array[Byte].

    Constructs a BitVector from an Array[Byte]. Unlike apply, this does not make a copy of the input array, so callers should take care not to modify the contents of the array passed to this function.

  60. def view(buffer: ByteBuffer, sizeInBits: Long): BitVector

    Permalink

    Constructs a BitVector from the first sizeInBits of the ByteBuffer.

    Constructs a BitVector from the first sizeInBits of the ByteBuffer. Unlike apply, this does not make a copy of the input buffer, so callers should take care not to modify the contents of the buffer passed to this function.

  61. def view(buffer: ByteBuffer): BitVector

    Permalink

    Constructs a BitVector from a ByteBuffer using the buffer limit * 8 as the size.

    Constructs a BitVector from a ByteBuffer using the buffer limit * 8 as the size. Unlike apply, this does not make a copy of the input buffer, so callers should take care not to modify the contents of the buffer passed to this function.

  62. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  63. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  64. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  65. val zero: BitVector

    Permalink

    1-bit vector with only bit set low.

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Constants

conversions

Constructors

Numeric Conversions

Base Conversions

Ungrouped