3c1081be9a
experimental simd dynamic string reading
2019-03-16 22:06:39 +01:00
da62bb9e9d
optimize byte_read for aligned reads
2019-03-16 16:52:44 +01:00
52f830bf7f
store pointer separately
2019-03-16 16:40:32 +01:00
031979673e
minor dynamic length string performance improvement
2019-03-16 14:56:38 +01:00
18cd799a9b
remove unneeded extra bounds check when reading boolean
2019-03-16 13:49:33 +01:00
bb54b1c917
add feature to disable checking strings for valid utf8
2019-03-09 16:59:48 +01:00
1c82edd402
no need to trim dynamic length strings
2019-03-09 16:59:48 +01:00
833213f640
inline for more compile time checks
2019-03-05 17:04:26 +01:00
8342290cc6
inline count check
2019-03-05 16:23:44 +01:00
f54d8748ad
some docs
2019-03-05 16:01:55 +01:00
aeec13ceec
docs for lazy structs
2019-03-03 21:38:01 +01:00
f96bd78f30
adds structs that allow lazy reading of values
2019-03-03 17:58:39 +01:00
fe95592d57
add traits for determining the number of bits required to read a type
2019-03-03 16:46:47 +01:00
be689d05a4
remove note after stream performance following optimizations
2019-03-03 14:14:12 +01:00
383376f5f0
remove extra bounds check in stream
...
this is done by
- making the buffer cloneable
- allow getting a clone of the buffer with a shorter length
- use the shorter buffer when reading a sub-stream
that way the bounds checks in the buffer are enough to bounds check sub-streams
2019-03-03 14:06:17 +01:00
984dfdce62
extra comment for reading string bytes
2019-03-03 13:44:57 +01:00
2a2317cbee
remove unneeded result
2019-03-03 13:40:38 +01:00
48a0c85d19
format
2019-03-03 02:33:59 +01:00
efcf31d596
faster byte_index
...
this can overflow the buffer when reading the initial bytes,
but we'll only uses the bytes that are part of the stream
2019-03-03 02:20:55 +01:00
589928921e
move bounds check to higher functions
2019-03-03 02:16:03 +01:00
bd012039d0
use unchecked type conversions
...
this is safe because we already checked their bit size
2019-03-03 01:42:56 +01:00
8fdcd6b4c4
optimize dynamic length string reading
2019-03-03 00:24:03 +01:00
6e36d00c1e
implement Debug
2019-02-28 22:34:06 +01:00
29ca7e359e
impl ReadSized for Option<T>
2019-02-28 22:23:11 +01:00
ea2640655b
fix read_bytes in BE mode
2019-02-28 22:18:38 +01:00
5e7a68a57e
impl Clone for BitStream
2019-02-28 21:56:01 +01:00
ccced2c28e
implement ReadSized for HashMap
2019-02-28 21:19:53 +01:00
47df4fd310
expand crate level example
2019-02-28 20:33:01 +01:00
a2b0d4ffb4
allow deriving BitReadSized for enums
2019-02-28 20:24:43 +01:00
5ec499f42f
allow BitReadSized to be derived
2019-02-28 19:47:12 +01:00
c145761970
more documentation for derive
2019-02-28 19:30:33 +01:00
8ad8d07dd5
allow deriving BitRead for enums
2019-02-28 19:05:23 +01:00
4bf39b874d
impl ReadSized for BitStream
2019-02-28 17:04:49 +01:00
af83f5e3b3
rename Read to BitRead to avoid confusion with Read trait from std
2019-02-28 16:01:34 +01:00
a49835d003
add test for reading derived Read
...
this requires moving the tests into their own folder, so they get tested loaded as a separate crate
2019-02-28 00:16:35 +01:00
b45ca3856e
docs for derive
2019-02-28 00:12:24 +01:00
8a19225d61
add derive macro for Read
2019-02-27 23:53:17 +01:00
bedeec3d26
better error type
2019-02-27 18:36:38 +01:00
f5e5fe54d1
impl From
2019-02-27 18:22:50 +01:00
f476a78971
error handling in examples
2019-02-27 18:01:56 +01:00
3f77c851b3
doc improvements
2019-02-27 17:21:03 +01:00
35b0325222
use vectors as byte source in examples
2019-02-27 16:43:47 +01:00
eec0b7a778
simplify stream constructor
2019-02-27 16:26:41 +01:00
eee2cf5c43
remove padded optimization for the sake of api cleanness
2019-02-27 16:21:04 +01:00
c39b8675ac
make the buffer take ownership of the data, use Rc to get multiple streams of a buffer
2019-02-27 16:15:23 +01:00
8d09284040
implement read for Option<T> and Vec<T>
2019-02-27 13:59:15 +01:00
ad56d05dbe
add traits that allow for reading arbitrary types from stream
2019-02-27 12:41:49 +01:00
deafc90b74
rename read -> read_int
2019-02-27 12:17:56 +01:00
dcaba5b98e
fix position tracking with string reading
2019-02-23 19:10:13 +01:00
79bc6d5914
add string reading
2019-02-23 17:53:28 +01:00