Class: Google::Apis::FirestoreV1beta1::BitSequence
- Inherits:
-
Object
- Object
- Google::Apis::FirestoreV1beta1::BitSequence
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/firestore_v1beta1/classes.rb,
lib/google/apis/firestore_v1beta1/representations.rb,
lib/google/apis/firestore_v1beta1/representations.rb
Overview
A sequence of bits, encoded in a byte array. Each byte in the bitmap byte
array stores 8 bits of the sequence. The only exception is the last byte,
which may store 8 or fewer bits. The padding defines the number of bits of
the last byte to be ignored as "padding". The values of these "padding" bits
are unspecified and must be ignored. To retrieve the first bit, bit 0,
calculate: (bitmap[0] & 0x01) != 0. To retrieve the second bit, bit 1,
calculate: (bitmap[0] & 0x02) != 0. To retrieve the third bit, bit 2,
calculate: (bitmap[0] & 0x04) != 0. To retrieve the fourth bit, bit 3,
calculate: (bitmap[0] & 0x08) != 0. To retrieve bit n, calculate: (bitmap[n
/ 8] & (0x01 << (n % 8))) != 0. The "size" of a BitSequence (the number of
bits it contains) is calculated by this formula: (bitmap.length * 8) -
padding.
Instance Attribute Summary collapse
-
#bitmap ⇒ String
The bytes that encode the bit sequence.
-
#padding ⇒ Fixnum
The number of bits of the last byte in
bitmapto ignore as "padding".
Instance Method Summary collapse
-
#initialize(**args) ⇒ BitSequence
constructor
A new instance of BitSequence.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ BitSequence
Returns a new instance of BitSequence.
385 386 387 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 385 def initialize(**args) update!(**args) end |
Instance Attribute Details
#bitmap ⇒ String
The bytes that encode the bit sequence. May have a length of zero.
Corresponds to the JSON property bitmap
NOTE: Values are automatically base64 encoded/decoded in the client library.
376 377 378 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 376 def bitmap @bitmap end |
#padding ⇒ Fixnum
The number of bits of the last byte in bitmap to ignore as "padding". If the
length of bitmap is zero, then this value must be 0. Otherwise, this value
must be between 0 and 7, inclusive.
Corresponds to the JSON property padding
383 384 385 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 383 def padding @padding end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
390 391 392 393 |
# File 'lib/google/apis/firestore_v1beta1/classes.rb', line 390 def update!(**args) @bitmap = args[:bitmap] if args.key?(:bitmap) @padding = args[:padding] if args.key?(:padding) end |