[−][src]Trait structview::View
Trait for viewing byte data as a higher-level representation.
By implementing View
a type declares that it is safe to be cast from
raw byte data.
Safety
Implementing this trait is unsafe since implementing types must fulfill some requirements that cannot be checked through the type system only:
- There must be no raw byte values that constitute invalid data for the
implementing type. For example, implementing
View
forstd::num::NonZeroI32
would be unsafe. - The implementing type must be 1-byte aligned.
- If the implementing type is a compound type, it must be ensured that
the compiler doesn't change the order of fields. This can be achieved
through
#[repr(C)]
.
It is recommended to use the custom View
derive also provided by this
crate instead of implementing this trait manually.
Provided methods
fn view(data: &[u8]) -> Result<&Self, Error>
View data
as a value of the implementing type.
This simply casts the &[u8]
reference to a reference of the
implementing type.
Errors
If data
is too short to fill the whole view,
Error::NotEnoughData
will be returned.
Implementations on Foreign Types
impl View for i8
[src]
impl View for i8
impl View for u8
[src]
impl View for u8
impl<V: View> View for [V; 0]
[src]
impl<V: View> View for [V; 0]
impl<V: View> View for [V; 1]
[src]
impl<V: View> View for [V; 1]
impl<V: View> View for [V; 2]
[src]
impl<V: View> View for [V; 2]
impl<V: View> View for [V; 3]
[src]
impl<V: View> View for [V; 3]
impl<V: View> View for [V; 4]
[src]
impl<V: View> View for [V; 4]
impl<V: View> View for [V; 5]
[src]
impl<V: View> View for [V; 5]
impl<V: View> View for [V; 6]
[src]
impl<V: View> View for [V; 6]
impl<V: View> View for [V; 7]
[src]
impl<V: View> View for [V; 7]
impl<V: View> View for [V; 8]
[src]
impl<V: View> View for [V; 8]
impl<V: View> View for [V; 9]
[src]
impl<V: View> View for [V; 9]
impl<V: View> View for [V; 10]
[src]
impl<V: View> View for [V; 10]
impl<V: View> View for [V; 11]
[src]
impl<V: View> View for [V; 11]
impl<V: View> View for [V; 12]
[src]
impl<V: View> View for [V; 12]
impl<V: View> View for [V; 13]
[src]
impl<V: View> View for [V; 13]
impl<V: View> View for [V; 14]
[src]
impl<V: View> View for [V; 14]
impl<V: View> View for [V; 15]
[src]
impl<V: View> View for [V; 15]
impl<V: View> View for [V; 16]
[src]
impl<V: View> View for [V; 16]
impl<V: View> View for [V; 17]
[src]
impl<V: View> View for [V; 17]
impl<V: View> View for [V; 18]
[src]
impl<V: View> View for [V; 18]
impl<V: View> View for [V; 19]
[src]
impl<V: View> View for [V; 19]
impl<V: View> View for [V; 20]
[src]
impl<V: View> View for [V; 20]
impl<V: View> View for [V; 21]
[src]
impl<V: View> View for [V; 21]
impl<V: View> View for [V; 22]
[src]
impl<V: View> View for [V; 22]
impl<V: View> View for [V; 23]
[src]
impl<V: View> View for [V; 23]
impl<V: View> View for [V; 24]
[src]
impl<V: View> View for [V; 24]
impl<V: View> View for [V; 25]
[src]
impl<V: View> View for [V; 25]
impl<V: View> View for [V; 26]
[src]
impl<V: View> View for [V; 26]
impl<V: View> View for [V; 27]
[src]
impl<V: View> View for [V; 27]
impl<V: View> View for [V; 28]
[src]
impl<V: View> View for [V; 28]
impl<V: View> View for [V; 29]
[src]
impl<V: View> View for [V; 29]
impl<V: View> View for [V; 30]
[src]
impl<V: View> View for [V; 30]
impl<V: View> View for [V; 31]
[src]
impl<V: View> View for [V; 31]
impl<V: View> View for [V; 32]
[src]
impl<V: View> View for [V; 32]
impl<V: View> View for [V; 33]
[src]
impl<V: View> View for [V; 33]
impl<V: View> View for [V; 34]
[src]
impl<V: View> View for [V; 34]
impl<V: View> View for [V; 35]
[src]
impl<V: View> View for [V; 35]
impl<V: View> View for [V; 36]
[src]
impl<V: View> View for [V; 36]
impl<V: View> View for [V; 37]
[src]
impl<V: View> View for [V; 37]
impl<V: View> View for [V; 38]
[src]
impl<V: View> View for [V; 38]
impl<V: View> View for [V; 39]
[src]
impl<V: View> View for [V; 39]
impl<V: View> View for [V; 40]
[src]
impl<V: View> View for [V; 40]
impl<V: View> View for [V; 41]
[src]
impl<V: View> View for [V; 41]
impl<V: View> View for [V; 42]
[src]
impl<V: View> View for [V; 42]
impl<V: View> View for [V; 43]
[src]
impl<V: View> View for [V; 43]
impl<V: View> View for [V; 44]
[src]
impl<V: View> View for [V; 44]
impl<V: View> View for [V; 45]
[src]
impl<V: View> View for [V; 45]
impl<V: View> View for [V; 46]
[src]
impl<V: View> View for [V; 46]
impl<V: View> View for [V; 47]
[src]
impl<V: View> View for [V; 47]
impl<V: View> View for [V; 48]
[src]
impl<V: View> View for [V; 48]
impl<V: View> View for [V; 49]
[src]
impl<V: View> View for [V; 49]
impl<V: View> View for [V; 50]
[src]
impl<V: View> View for [V; 50]
impl<V: View> View for [V; 51]
[src]
impl<V: View> View for [V; 51]
impl<V: View> View for [V; 52]
[src]
impl<V: View> View for [V; 52]
impl<V: View> View for [V; 53]
[src]
impl<V: View> View for [V; 53]
impl<V: View> View for [V; 54]
[src]
impl<V: View> View for [V; 54]
impl<V: View> View for [V; 55]
[src]
impl<V: View> View for [V; 55]
impl<V: View> View for [V; 56]
[src]
impl<V: View> View for [V; 56]
impl<V: View> View for [V; 57]
[src]
impl<V: View> View for [V; 57]
impl<V: View> View for [V; 58]
[src]
impl<V: View> View for [V; 58]
impl<V: View> View for [V; 59]
[src]
impl<V: View> View for [V; 59]
impl<V: View> View for [V; 60]
[src]
impl<V: View> View for [V; 60]
impl<V: View> View for [V; 61]
[src]
impl<V: View> View for [V; 61]
impl<V: View> View for [V; 62]
[src]
impl<V: View> View for [V; 62]
impl<V: View> View for [V; 63]
[src]
impl<V: View> View for [V; 63]
impl<V: View> View for [V; 64]
[src]
impl<V: View> View for [V; 64]
impl<V: View> View for [V; 65]
[src]
impl<V: View> View for [V; 65]
impl<V: View> View for [V; 66]
[src]
impl<V: View> View for [V; 66]
impl<V: View> View for [V; 67]
[src]
impl<V: View> View for [V; 67]
impl<V: View> View for [V; 68]
[src]
impl<V: View> View for [V; 68]
impl<V: View> View for [V; 69]
[src]
impl<V: View> View for [V; 69]
impl<V: View> View for [V; 70]
[src]
impl<V: View> View for [V; 70]
impl<V: View> View for [V; 71]
[src]
impl<V: View> View for [V; 71]
impl<V: View> View for [V; 72]
[src]
impl<V: View> View for [V; 72]
impl<V: View> View for [V; 73]
[src]
impl<V: View> View for [V; 73]
impl<V: View> View for [V; 74]
[src]
impl<V: View> View for [V; 74]
impl<V: View> View for [V; 75]
[src]
impl<V: View> View for [V; 75]
impl<V: View> View for [V; 76]
[src]
impl<V: View> View for [V; 76]
impl<V: View> View for [V; 77]
[src]
impl<V: View> View for [V; 77]
impl<V: View> View for [V; 78]
[src]
impl<V: View> View for [V; 78]
impl<V: View> View for [V; 79]
[src]
impl<V: View> View for [V; 79]
impl<V: View> View for [V; 80]
[src]
impl<V: View> View for [V; 80]
impl<V: View> View for [V; 81]
[src]
impl<V: View> View for [V; 81]
impl<V: View> View for [V; 82]
[src]
impl<V: View> View for [V; 82]
impl<V: View> View for [V; 83]
[src]
impl<V: View> View for [V; 83]
impl<V: View> View for [V; 84]
[src]
impl<V: View> View for [V; 84]
impl<V: View> View for [V; 85]
[src]
impl<V: View> View for [V; 85]
impl<V: View> View for [V; 86]
[src]
impl<V: View> View for [V; 86]
impl<V: View> View for [V; 87]
[src]
impl<V: View> View for [V; 87]
impl<V: View> View for [V; 88]
[src]
impl<V: View> View for [V; 88]
impl<V: View> View for [V; 89]
[src]
impl<V: View> View for [V; 89]
impl<V: View> View for [V; 90]
[src]
impl<V: View> View for [V; 90]
impl<V: View> View for [V; 91]
[src]
impl<V: View> View for [V; 91]
impl<V: View> View for [V; 92]
[src]
impl<V: View> View for [V; 92]
impl<V: View> View for [V; 93]
[src]
impl<V: View> View for [V; 93]
impl<V: View> View for [V; 94]
[src]
impl<V: View> View for [V; 94]
impl<V: View> View for [V; 95]
[src]
impl<V: View> View for [V; 95]
impl<V: View> View for [V; 96]
[src]
impl<V: View> View for [V; 96]
impl<V: View> View for [V; 97]
[src]
impl<V: View> View for [V; 97]
impl<V: View> View for [V; 98]
[src]
impl<V: View> View for [V; 98]
impl<V: View> View for [V; 99]
[src]
impl<V: View> View for [V; 99]
impl<V: View> View for [V; 100]
[src]
impl<V: View> View for [V; 100]
impl<V: View> View for [V; 101]
[src]
impl<V: View> View for [V; 101]
impl<V: View> View for [V; 102]
[src]
impl<V: View> View for [V; 102]
impl<V: View> View for [V; 103]
[src]
impl<V: View> View for [V; 103]
impl<V: View> View for [V; 104]
[src]
impl<V: View> View for [V; 104]
impl<V: View> View for [V; 105]
[src]
impl<V: View> View for [V; 105]
impl<V: View> View for [V; 106]
[src]
impl<V: View> View for [V; 106]
impl<V: View> View for [V; 107]
[src]
impl<V: View> View for [V; 107]
impl<V: View> View for [V; 108]
[src]
impl<V: View> View for [V; 108]
impl<V: View> View for [V; 109]
[src]
impl<V: View> View for [V; 109]
impl<V: View> View for [V; 110]
[src]
impl<V: View> View for [V; 110]
impl<V: View> View for [V; 111]
[src]
impl<V: View> View for [V; 111]
impl<V: View> View for [V; 112]
[src]
impl<V: View> View for [V; 112]
impl<V: View> View for [V; 113]
[src]
impl<V: View> View for [V; 113]
impl<V: View> View for [V; 114]
[src]
impl<V: View> View for [V; 114]
impl<V: View> View for [V; 115]
[src]
impl<V: View> View for [V; 115]
impl<V: View> View for [V; 116]
[src]
impl<V: View> View for [V; 116]
impl<V: View> View for [V; 117]
[src]
impl<V: View> View for [V; 117]
impl<V: View> View for [V; 118]
[src]
impl<V: View> View for [V; 118]
impl<V: View> View for [V; 119]
[src]
impl<V: View> View for [V; 119]
impl<V: View> View for [V; 120]
[src]
impl<V: View> View for [V; 120]
impl<V: View> View for [V; 121]
[src]
impl<V: View> View for [V; 121]
impl<V: View> View for [V; 122]
[src]
impl<V: View> View for [V; 122]
impl<V: View> View for [V; 123]
[src]
impl<V: View> View for [V; 123]
impl<V: View> View for [V; 124]
[src]
impl<V: View> View for [V; 124]
impl<V: View> View for [V; 125]
[src]
impl<V: View> View for [V; 125]
impl<V: View> View for [V; 126]
[src]
impl<V: View> View for [V; 126]
impl<V: View> View for [V; 127]
[src]
impl<V: View> View for [V; 127]
impl<V: View> View for [V; 128]
[src]
impl<V: View> View for [V; 128]
impl<V: View> View for [V; 129]
[src]
impl<V: View> View for [V; 129]
impl<V: View> View for [V; 130]
[src]
impl<V: View> View for [V; 130]
impl<V: View> View for [V; 131]
[src]
impl<V: View> View for [V; 131]
impl<V: View> View for [V; 132]
[src]
impl<V: View> View for [V; 132]
impl<V: View> View for [V; 133]
[src]
impl<V: View> View for [V; 133]
impl<V: View> View for [V; 134]
[src]
impl<V: View> View for [V; 134]
impl<V: View> View for [V; 135]
[src]
impl<V: View> View for [V; 135]
impl<V: View> View for [V; 136]
[src]
impl<V: View> View for [V; 136]
impl<V: View> View for [V; 137]
[src]
impl<V: View> View for [V; 137]
impl<V: View> View for [V; 138]
[src]
impl<V: View> View for [V; 138]
impl<V: View> View for [V; 139]
[src]
impl<V: View> View for [V; 139]
impl<V: View> View for [V; 140]
[src]
impl<V: View> View for [V; 140]
impl<V: View> View for [V; 141]
[src]
impl<V: View> View for [V; 141]
impl<V: View> View for [V; 142]
[src]
impl<V: View> View for [V; 142]
impl<V: View> View for [V; 143]
[src]
impl<V: View> View for [V; 143]
impl<V: View> View for [V; 144]
[src]
impl<V: View> View for [V; 144]
impl<V: View> View for [V; 145]
[src]
impl<V: View> View for [V; 145]
impl<V: View> View for [V; 146]
[src]
impl<V: View> View for [V; 146]
impl<V: View> View for [V; 147]
[src]
impl<V: View> View for [V; 147]
impl<V: View> View for [V; 148]
[src]
impl<V: View> View for [V; 148]
impl<V: View> View for [V; 149]
[src]
impl<V: View> View for [V; 149]
impl<V: View> View for [V; 150]
[src]
impl<V: View> View for [V; 150]
impl<V: View> View for [V; 151]
[src]
impl<V: View> View for [V; 151]
impl<V: View> View for [V; 152]
[src]
impl<V: View> View for [V; 152]
impl<V: View> View for [V; 153]
[src]
impl<V: View> View for [V; 153]
impl<V: View> View for [V; 154]
[src]
impl<V: View> View for [V; 154]
impl<V: View> View for [V; 155]
[src]
impl<V: View> View for [V; 155]
impl<V: View> View for [V; 156]
[src]
impl<V: View> View for [V; 156]
impl<V: View> View for [V; 157]
[src]
impl<V: View> View for [V; 157]
impl<V: View> View for [V; 158]
[src]
impl<V: View> View for [V; 158]
impl<V: View> View for [V; 159]
[src]
impl<V: View> View for [V; 159]
impl<V: View> View for [V; 160]
[src]
impl<V: View> View for [V; 160]
impl<V: View> View for [V; 161]
[src]
impl<V: View> View for [V; 161]
impl<V: View> View for [V; 162]
[src]
impl<V: View> View for [V; 162]
impl<V: View> View for [V; 163]
[src]
impl<V: View> View for [V; 163]
impl<V: View> View for [V; 164]
[src]
impl<V: View> View for [V; 164]
impl<V: View> View for [V; 165]
[src]
impl<V: View> View for [V; 165]
impl<V: View> View for [V; 166]
[src]
impl<V: View> View for [V; 166]
impl<V: View> View for [V; 167]
[src]
impl<V: View> View for [V; 167]
impl<V: View> View for [V; 168]
[src]
impl<V: View> View for [V; 168]
impl<V: View> View for [V; 169]
[src]
impl<V: View> View for [V; 169]
impl<V: View> View for [V; 170]
[src]
impl<V: View> View for [V; 170]
impl<V: View> View for [V; 171]
[src]
impl<V: View> View for [V; 171]
impl<V: View> View for [V; 172]
[src]
impl<V: View> View for [V; 172]
impl<V: View> View for [V; 173]
[src]
impl<V: View> View for [V; 173]
impl<V: View> View for [V; 174]
[src]
impl<V: View> View for [V; 174]
impl<V: View> View for [V; 175]
[src]
impl<V: View> View for [V; 175]
impl<V: View> View for [V; 176]
[src]
impl<V: View> View for [V; 176]
impl<V: View> View for [V; 177]
[src]
impl<V: View> View for [V; 177]
impl<V: View> View for [V; 178]
[src]
impl<V: View> View for [V; 178]
impl<V: View> View for [V; 179]
[src]
impl<V: View> View for [V; 179]
impl<V: View> View for [V; 180]
[src]
impl<V: View> View for [V; 180]
impl<V: View> View for [V; 181]
[src]
impl<V: View> View for [V; 181]
impl<V: View> View for [V; 182]
[src]
impl<V: View> View for [V; 182]
impl<V: View> View for [V; 183]
[src]
impl<V: View> View for [V; 183]
impl<V: View> View for [V; 184]
[src]
impl<V: View> View for [V; 184]
impl<V: View> View for [V; 185]
[src]
impl<V: View> View for [V; 185]
impl<V: View> View for [V; 186]
[src]
impl<V: View> View for [V; 186]
impl<V: View> View for [V; 187]
[src]
impl<V: View> View for [V; 187]
impl<V: View> View for [V; 188]
[src]
impl<V: View> View for [V; 188]
impl<V: View> View for [V; 189]
[src]
impl<V: View> View for [V; 189]
impl<V: View> View for [V; 190]
[src]
impl<V: View> View for [V; 190]
impl<V: View> View for [V; 191]
[src]
impl<V: View> View for [V; 191]
impl<V: View> View for [V; 192]
[src]
impl<V: View> View for [V; 192]
impl<V: View> View for [V; 193]
[src]
impl<V: View> View for [V; 193]
impl<V: View> View for [V; 194]
[src]
impl<V: View> View for [V; 194]
impl<V: View> View for [V; 195]
[src]
impl<V: View> View for [V; 195]
impl<V: View> View for [V; 196]
[src]
impl<V: View> View for [V; 196]
impl<V: View> View for [V; 197]
[src]
impl<V: View> View for [V; 197]
impl<V: View> View for [V; 198]
[src]
impl<V: View> View for [V; 198]
impl<V: View> View for [V; 199]
[src]
impl<V: View> View for [V; 199]
impl<V: View> View for [V; 200]
[src]
impl<V: View> View for [V; 200]
impl<V: View> View for [V; 201]
[src]
impl<V: View> View for [V; 201]
impl<V: View> View for [V; 202]
[src]
impl<V: View> View for [V; 202]
impl<V: View> View for [V; 203]
[src]
impl<V: View> View for [V; 203]
impl<V: View> View for [V; 204]
[src]
impl<V: View> View for [V; 204]
impl<V: View> View for [V; 205]
[src]
impl<V: View> View for [V; 205]
impl<V: View> View for [V; 206]
[src]
impl<V: View> View for [V; 206]
impl<V: View> View for [V; 207]
[src]
impl<V: View> View for [V; 207]
impl<V: View> View for [V; 208]
[src]
impl<V: View> View for [V; 208]
impl<V: View> View for [V; 209]
[src]
impl<V: View> View for [V; 209]
impl<V: View> View for [V; 210]
[src]
impl<V: View> View for [V; 210]
impl<V: View> View for [V; 211]
[src]
impl<V: View> View for [V; 211]
impl<V: View> View for [V; 212]
[src]
impl<V: View> View for [V; 212]
impl<V: View> View for [V; 213]
[src]
impl<V: View> View for [V; 213]
impl<V: View> View for [V; 214]
[src]
impl<V: View> View for [V; 214]
impl<V: View> View for [V; 215]
[src]
impl<V: View> View for [V; 215]
impl<V: View> View for [V; 216]
[src]
impl<V: View> View for [V; 216]
impl<V: View> View for [V; 217]
[src]
impl<V: View> View for [V; 217]
impl<V: View> View for [V; 218]
[src]
impl<V: View> View for [V; 218]
impl<V: View> View for [V; 219]
[src]
impl<V: View> View for [V; 219]
impl<V: View> View for [V; 220]
[src]
impl<V: View> View for [V; 220]
impl<V: View> View for [V; 221]
[src]
impl<V: View> View for [V; 221]
impl<V: View> View for [V; 222]
[src]
impl<V: View> View for [V; 222]
impl<V: View> View for [V; 223]
[src]
impl<V: View> View for [V; 223]
impl<V: View> View for [V; 224]
[src]
impl<V: View> View for [V; 224]
impl<V: View> View for [V; 225]
[src]
impl<V: View> View for [V; 225]
impl<V: View> View for [V; 226]
[src]
impl<V: View> View for [V; 226]
impl<V: View> View for [V; 227]
[src]
impl<V: View> View for [V; 227]
impl<V: View> View for [V; 228]
[src]
impl<V: View> View for [V; 228]
impl<V: View> View for [V; 229]
[src]
impl<V: View> View for [V; 229]
impl<V: View> View for [V; 230]
[src]
impl<V: View> View for [V; 230]
impl<V: View> View for [V; 231]
[src]
impl<V: View> View for [V; 231]
impl<V: View> View for [V; 232]
[src]
impl<V: View> View for [V; 232]
impl<V: View> View for [V; 233]
[src]
impl<V: View> View for [V; 233]
impl<V: View> View for [V; 234]
[src]
impl<V: View> View for [V; 234]
impl<V: View> View for [V; 235]
[src]
impl<V: View> View for [V; 235]
impl<V: View> View for [V; 236]
[src]
impl<V: View> View for [V; 236]
impl<V: View> View for [V; 237]
[src]
impl<V: View> View for [V; 237]
impl<V: View> View for [V; 238]
[src]
impl<V: View> View for [V; 238]
impl<V: View> View for [V; 239]
[src]
impl<V: View> View for [V; 239]
impl<V: View> View for [V; 240]
[src]
impl<V: View> View for [V; 240]
impl<V: View> View for [V; 241]
[src]
impl<V: View> View for [V; 241]
impl<V: View> View for [V; 242]
[src]
impl<V: View> View for [V; 242]
impl<V: View> View for [V; 243]
[src]
impl<V: View> View for [V; 243]
impl<V: View> View for [V; 244]
[src]
impl<V: View> View for [V; 244]
impl<V: View> View for [V; 245]
[src]
impl<V: View> View for [V; 245]
impl<V: View> View for [V; 246]
[src]
impl<V: View> View for [V; 246]
impl<V: View> View for [V; 247]
[src]
impl<V: View> View for [V; 247]
impl<V: View> View for [V; 248]
[src]
impl<V: View> View for [V; 248]
impl<V: View> View for [V; 249]
[src]
impl<V: View> View for [V; 249]
impl<V: View> View for [V; 250]
[src]
impl<V: View> View for [V; 250]
impl<V: View> View for [V; 251]
[src]
impl<V: View> View for [V; 251]
impl<V: View> View for [V; 252]
[src]
impl<V: View> View for [V; 252]
impl<V: View> View for [V; 253]
[src]
impl<V: View> View for [V; 253]
impl<V: View> View for [V; 254]
[src]
impl<V: View> View for [V; 254]
impl<V: View> View for [V; 255]
[src]
impl<V: View> View for [V; 255]
impl<V: View> View for [V; 256]
[src]
Loading content...
impl<V: View> View for [V; 256]
Implementors
impl<BO: Copy> View for I16<BO>
[src]
impl<BO: Copy> View for I16<BO>
impl<BO: Copy> View for I32<BO>
[src]
impl<BO: Copy> View for I32<BO>
impl<BO: Copy> View for I64<BO>
[src]
impl<BO: Copy> View for I64<BO>
impl<BO: Copy> View for U16<BO>
[src]
impl<BO: Copy> View for U16<BO>
impl<BO: Copy> View for U32<BO>
[src]
impl<BO: Copy> View for U32<BO>
impl<BO: Copy> View for U64<BO>
[src]
impl<BO: Copy> View for U64<BO>