Reads an A, advancing decode past the bits it consumed.
Reads an A, advancing decode past the bits it consumed.
Decoding stops as soon as it has an A; it does not check for trailing input, so a caller that requires the whole buffer to be consumed must check that itself.
if the input is truncated or is not a valid encoding of A. Bytes from an untrusted source are expected to fail this way; any other exception is a defect.
The buffer does not grow, so it must already have room for bitSize bits. Failing that is a defect in this instance rather than a problem with a: an under-estimating bitSize overruns the buffer with an ArrayIndexOutOfBoundsException, and a negative size is rejected by EncoderState with an IllegalArgumentException. Use [[FlatCodec.encodeA*]] to get the sizing right.