Crate parsely_rs

Source

Modules§

from_bitslice
trait_impls

Macros§

anyhow
Construct an ad-hoc error from a string or existing non-anyhow error value.
bail
Return early with an error.
impl_stateless_sync

Structs§

BigEndian
BitCursor
Bits
A cheaply cloneable chunk of contiugous memory, built on top of [bytes::Bytes] but providing bit-level operations.
BitsMut
LittleEndian
i1
The 1-bit signed integer type.
i2
The 2-bit signed integer type.
i3
The 3-bit signed integer type.
i4
The 4-bit signed integer type.
i5
The 5-bit signed integer type.
i6
The 6-bit signed integer type.
i7
The 7-bit signed integer type.
i9
The 9-bit signed integer type.
i10
The 10-bit signed integer type.
i11
The 11-bit signed integer type.
i12
The 12-bit signed integer type.
i13
The 13-bit signed integer type.
i14
The 14-bit signed integer type.
i15
The 15-bit signed integer type.
i17
The 17-bit signed integer type.
i18
The 18-bit signed integer type.
i19
The 19-bit signed integer type.
i20
The 20-bit signed integer type.
i21
The 21-bit signed integer type.
i22
The 22-bit signed integer type.
i23
The 23-bit signed integer type.
i24
The 24-bit signed integer type.
i25
The 25-bit signed integer type.
i26
The 26-bit signed integer type.
i27
The 27-bit signed integer type.
i28
The 28-bit signed integer type.
i29
The 29-bit signed integer type.
i30
The 30-bit signed integer type.
i31
The 31-bit signed integer type.
i33
The 33-bit signed integer type.
i34
The 34-bit signed integer type.
i35
The 35-bit signed integer type.
i36
The 36-bit signed integer type.
i37
The 37-bit signed integer type.
i38
The 38-bit signed integer type.
i39
The 39-bit signed integer type.
i40
The 40-bit signed integer type.
i41
The 41-bit signed integer type.
i42
The 42-bit signed integer type.
i43
The 43-bit signed integer type.
i44
The 44-bit signed integer type.
i45
The 45-bit signed integer type.
i46
The 46-bit signed integer type.
i47
The 47-bit signed integer type.
i48
The 48-bit signed integer type.
i49
The 49-bit signed integer type.
i50
The 50-bit signed integer type.
i51
The 51-bit signed integer type.
i52
The 52-bit signed integer type.
i53
The 53-bit signed integer type.
i54
The 54-bit signed integer type.
i55
The 55-bit signed integer type.
i56
The 56-bit signed integer type.
i57
The 57-bit signed integer type.
i58
The 58-bit signed integer type.
i59
The 59-bit signed integer type.
i60
The 60-bit signed integer type.
i61
The 61-bit signed integer type.
i62
The 62-bit signed integer type.
i63
The 63-bit signed integer type.
i65
The 65-bit signed integer type.
i66
The 66-bit signed integer type.
i67
The 67-bit signed integer type.
i68
The 68-bit signed integer type.
i69
The 69-bit signed integer type.
i70
The 70-bit signed integer type.
i71
The 71-bit signed integer type.
i72
The 72-bit signed integer type.
i73
The 73-bit signed integer type.
i74
The 74-bit signed integer type.
i75
The 75-bit signed integer type.
i76
The 76-bit signed integer type.
i77
The 77-bit signed integer type.
i78
The 78-bit signed integer type.
i79
The 79-bit signed integer type.
i80
The 80-bit signed integer type.
i81
The 81-bit signed integer type.
i82
The 82-bit signed integer type.
i83
The 83-bit signed integer type.
i84
The 84-bit signed integer type.
i85
The 85-bit signed integer type.
i86
The 86-bit signed integer type.
i87
The 87-bit signed integer type.
i88
The 88-bit signed integer type.
i89
The 89-bit signed integer type.
i90
The 90-bit signed integer type.
i91
The 91-bit signed integer type.
i92
The 92-bit signed integer type.
i93
The 93-bit signed integer type.
i94
The 94-bit signed integer type.
i95
The 95-bit signed integer type.
i96
The 96-bit signed integer type.
i97
The 97-bit signed integer type.
i98
The 98-bit signed integer type.
i99
The 99-bit signed integer type.
i100
The 100-bit signed integer type.
i101
The 101-bit signed integer type.
i102
The 102-bit signed integer type.
i103
The 103-bit signed integer type.
i104
The 104-bit signed integer type.
i105
The 105-bit signed integer type.
i106
The 106-bit signed integer type.
i107
The 107-bit signed integer type.
i108
The 108-bit signed integer type.
i109
The 109-bit signed integer type.
i110
The 110-bit signed integer type.
i111
The 111-bit signed integer type.
i112
The 112-bit signed integer type.
i113
The 113-bit signed integer type.
i114
The 114-bit signed integer type.
i115
The 115-bit signed integer type.
i116
The 116-bit signed integer type.
i117
The 117-bit signed integer type.
i118
The 118-bit signed integer type.
i119
The 119-bit signed integer type.
i120
The 120-bit signed integer type.
i121
The 121-bit signed integer type.
i122
The 122-bit signed integer type.
i123
The 123-bit signed integer type.
i124
The 124-bit signed integer type.
i125
The 125-bit signed integer type.
i126
The 126-bit signed integer type.
i127
The 127-bit signed integer type.
u1
The 1-bit unsigned integer type.
u2
The 2-bit unsigned integer type.
u3
The 3-bit unsigned integer type.
u4
The 4-bit unsigned integer type.
u5
The 5-bit unsigned integer type.
u6
The 6-bit unsigned integer type.
u7
The 7-bit unsigned integer type.
u9
The 9-bit unsigned integer type.
u10
The 10-bit unsigned integer type.
u11
The 11-bit unsigned integer type.
u12
The 12-bit unsigned integer type.
u13
The 13-bit unsigned integer type.
u14
The 14-bit unsigned integer type.
u15
The 15-bit unsigned integer type.
u17
The 17-bit unsigned integer type.
u18
The 18-bit unsigned integer type.
u19
The 19-bit unsigned integer type.
u20
The 20-bit unsigned integer type.
u21
The 21-bit unsigned integer type.
u22
The 22-bit unsigned integer type.
u23
The 23-bit unsigned integer type.
u24
The 24-bit unsigned integer type.
u25
The 25-bit unsigned integer type.
u26
The 26-bit unsigned integer type.
u27
The 27-bit unsigned integer type.
u28
The 28-bit unsigned integer type.
u29
The 29-bit unsigned integer type.
u30
The 30-bit unsigned integer type.
u31
The 31-bit unsigned integer type.
u33
The 33-bit unsigned integer type.
u34
The 34-bit unsigned integer type.
u35
The 35-bit unsigned integer type.
u36
The 36-bit unsigned integer type.
u37
The 37-bit unsigned integer type.
u38
The 38-bit unsigned integer type.
u39
The 39-bit unsigned integer type.
u40
The 40-bit unsigned integer type.
u41
The 41-bit unsigned integer type.
u42
The 42-bit unsigned integer type.
u43
The 43-bit unsigned integer type.
u44
The 44-bit unsigned integer type.
u45
The 45-bit unsigned integer type.
u46
The 46-bit unsigned integer type.
u47
The 47-bit unsigned integer type.
u48
The 48-bit unsigned integer type.
u49
The 49-bit unsigned integer type.
u50
The 50-bit unsigned integer type.
u51
The 51-bit unsigned integer type.
u52
The 52-bit unsigned integer type.
u53
The 53-bit unsigned integer type.
u54
The 54-bit unsigned integer type.
u55
The 55-bit unsigned integer type.
u56
The 56-bit unsigned integer type.
u57
The 57-bit unsigned integer type.
u58
The 58-bit unsigned integer type.
u59
The 59-bit unsigned integer type.
u60
The 60-bit unsigned integer type.
u61
The 61-bit unsigned integer type.
u62
The 62-bit unsigned integer type.
u63
The 63-bit unsigned integer type.
u65
The 65-bit unsigned integer type.
u66
The 66-bit unsigned integer type.
u67
The 67-bit unsigned integer type.
u68
The 68-bit unsigned integer type.
u69
The 69-bit unsigned integer type.
u70
The 70-bit unsigned integer type.
u71
The 71-bit unsigned integer type.
u72
The 72-bit unsigned integer type.
u73
The 73-bit unsigned integer type.
u74
The 74-bit unsigned integer type.
u75
The 75-bit unsigned integer type.
u76
The 76-bit unsigned integer type.
u77
The 77-bit unsigned integer type.
u78
The 78-bit unsigned integer type.
u79
The 79-bit unsigned integer type.
u80
The 80-bit unsigned integer type.
u81
The 81-bit unsigned integer type.
u82
The 82-bit unsigned integer type.
u83
The 83-bit unsigned integer type.
u84
The 84-bit unsigned integer type.
u85
The 85-bit unsigned integer type.
u86
The 86-bit unsigned integer type.
u87
The 87-bit unsigned integer type.
u88
The 88-bit unsigned integer type.
u89
The 89-bit unsigned integer type.
u90
The 90-bit unsigned integer type.
u91
The 91-bit unsigned integer type.
u92
The 92-bit unsigned integer type.
u93
The 93-bit unsigned integer type.
u94
The 94-bit unsigned integer type.
u95
The 95-bit unsigned integer type.
u96
The 96-bit unsigned integer type.
u97
The 97-bit unsigned integer type.
u98
The 98-bit unsigned integer type.
u99
The 99-bit unsigned integer type.
u100
The 100-bit unsigned integer type.
u101
The 101-bit unsigned integer type.
u102
The 102-bit unsigned integer type.
u103
The 103-bit unsigned integer type.
u104
The 104-bit unsigned integer type.
u105
The 105-bit unsigned integer type.
u106
The 106-bit unsigned integer type.
u107
The 107-bit unsigned integer type.
u108
The 108-bit unsigned integer type.
u109
The 109-bit unsigned integer type.
u110
The 110-bit unsigned integer type.
u111
The 111-bit unsigned integer type.
u112
The 112-bit unsigned integer type.
u113
The 113-bit unsigned integer type.
u114
The 114-bit unsigned integer type.
u115
The 115-bit unsigned integer type.
u116
The 116-bit unsigned integer type.
u117
The 117-bit unsigned integer type.
u118
The 118-bit unsigned integer type.
u119
The 119-bit unsigned integer type.
u120
The 120-bit unsigned integer type.
u121
The 121-bit unsigned integer type.
u122
The 122-bit unsigned integer type.
u123
The 123-bit unsigned integer type.
u124
The 124-bit unsigned integer type.
u125
The 125-bit unsigned integer type.
u126
The 126-bit unsigned integer type.
u127
The 127-bit unsigned integer type.

Traits§

BitBuf
BitBufExts
BitBufMut
BitBufMutExts
BitRead
The BitRead trait allows for reading bits from a source.
BitSliceUxExts
BitWrite
A trait for objects which are bit-oriented sinks.
ByteOrder
This trait defines operations to load and store integral values from a buffer, and enables implementing them in different ways for the different byte orders (Big Endian and Little Endian).
Context
Provides the context method for Result.
IntoParselyResult
When we need to convert an expression that may or may not be wrapped in a Result on the read path, we can rely on the fact that we’ll eventually be assigning the value to a field with a concrete type and we can rely on type inference in order to figure out what that should be. Because of that we don’t want/need the ParselyWrite trait bounds on the impl like we have above for the writable side, so we need a different trait here.
IntoWritableParselyResult
Helper trait to coerce values of both T: ParselyWrite and Result<T, E>: E: Into<anyhow::Error> into ParselyResult<T>. We need a trait specifically for writing because if we don’t bound the impl for T in some way there’s ambiguity: the compiler doesn’t know if
ParselyRead
ParselyWrite
StateSync
A trait for syncing a field with any required context. In order to prevent accidental misses of this trait, it’s required for all ParselyWrite implementors. When generating the ParselyWrite implementation, sync will be called on every field.

Type Aliases§

NetworkOrder
ParselyResult

Derive Macros§

ParselyRead
ParselyWrite