mirror of
https://codeberg.org/icewind/bitbuffer.git
synced 2026-06-03 16:44:06 +02:00
impl From
This commit is contained in:
parent
f476a78971
commit
f5e5fe54d1
3 changed files with 31 additions and 0 deletions
|
|
@ -379,3 +379,15 @@ where
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<E: Endianness> From<Vec<u8>> for BitBuffer<E> {
|
||||||
|
fn from(bytes: Vec<u8>) -> Self {
|
||||||
|
let byte_len = bytes.len();
|
||||||
|
BitBuffer {
|
||||||
|
bytes,
|
||||||
|
byte_len,
|
||||||
|
bit_len: byte_len * 8,
|
||||||
|
endianness: PhantomData,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -517,3 +517,15 @@ where
|
||||||
T::read(self, size)
|
T::read(self, size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<E: Endianness> From<BitBuffer<E>> for BitStream<E> {
|
||||||
|
fn from(buffer: BitBuffer<E>) -> Self {
|
||||||
|
BitStream::new(buffer)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<E: Endianness> From<Vec<u8>> for BitStream<E> {
|
||||||
|
fn from(bytes: Vec<u8>) -> Self {
|
||||||
|
BitStream::new(BitBuffer::from(bytes))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -224,6 +224,13 @@ fn read_f64_le() {
|
||||||
assert_eq!(buffer.read_float::<f64>(6).unwrap(), 135447455835963910000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0);
|
assert_eq!(buffer.read_float::<f64>(6).unwrap(), 135447455835963910000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_from() {
|
||||||
|
let buffer: BitBuffer<LittleEndian> = BitBuffer::from(BYTES.to_vec());
|
||||||
|
let _: BitStream<LittleEndian> = BitStream::from(buffer);
|
||||||
|
let _: BitStream<LittleEndian> = BitStream::from(BYTES.to_vec());
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn read_trait() {
|
fn read_trait() {
|
||||||
let buffer = BitBuffer::new(BYTES.to_vec(), BigEndian);
|
let buffer = BitBuffer::new(BYTES.to_vec(), BigEndian);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue