bitvecbuf 1.0.0

Rust BitBuffer implemented around BitVec
Documentation
test!(
	test_write_bit_lsb,
	test_write_bit_msb,
	bench_write_bit_lsb,
	bench_write_bit_msb,
	result,
	&[1u8],
	&[128u8],
	{
		let mut bitbuf = BitVecWriter::<Endian>::default();
		bitbuf.write_bit(true);
		assert_eq!(bitbuf.into_bytes(), result);
	}
);

test!(
	test_write_uint_lsb,
	test_write_uint_msb,
	bench_write_uint_lsb,
	bench_write_uint_msb,
	result,
	&[69, 0],
	&[4, 80],
	{
		let mut bitbuf = BitVecWriter::<Endian>::default();
		bitbuf.write_uint(69u16, 12);
		assert_eq!(bitbuf.into_bytes(), result);
	}
);

test!(
	test_write_int_lsb,
	test_write_int_msb,
	bench_write_int_lsb,
	bench_write_int_msb,
	result,
	&[187, 255],
	&[255, 187],
	{
		let mut bitbuf = BitVecWriter::<Endian>::default();
		bitbuf.write_int(-69_i16, 16);
		assert_eq!(bitbuf.into_bytes(), result);
	}
);

test!(
	test_write_float_lsb,
	test_write_float_msb,
	bench_write_float_lsb,
	bench_write_float_msb,
	result,
	&[72, 97, 139, 66],
	&[66, 139, 97, 72],
	{
		let mut bitbuf = BitVecWriter::<Endian>::default();
		bitbuf.write_float(69.69_f32);
		assert_eq!(bitbuf.into_bytes(), result);
	}
);

test!(
	test_write_double_lsb,
	test_write_double_msb,
	bench_write_double_lsb,
	bench_write_double_msb,
	result,
	&[0, 0, 0, 0, 0, 64, 81, 64],
	&[64, 81, 64, 0, 0, 0, 0, 0],
	{
		let mut bitbuf = BitVecWriter::<Endian>::default();
		bitbuf.write_double(69_f64);
		assert_eq!(bitbuf.into_bytes(), result);
	}
);

test!(
	test_write_str_lsb,
	test_write_str_msb,
	bench_write_str_lsb,
	bench_write_str_msb,
	{
		let mut bitbuf = BitVecWriter::<Endian>::default();
		bitbuf.write_string("Hello, world!");
		bitbuf.write_string_nul("Hello, world!");
		assert_eq!(bitbuf.into_bytes(), b"Hello, world!Hello, world!\0");
	}
);

test!(
	test_write_bytes_lsb,
	test_write_bytes_msb,
	bench_write_bytes_lsb,
	bench_write_bytes_msb,
	{
		let mut bitbuf = BitVecWriter::<Endian>::default();
		bitbuf.write_bytes(b"Hello, world!");
		assert_eq!(bitbuf.into_bytes(), b"Hello, world!");
	}
);