> Aztec.nr API reference, v6.0.0 (mainnet and testnet). Index: https://docs.aztec.network/aztec-nr-api/v6.0.0/llms.txt

# Struct Reader

Module: `serde::reader`

```rust
pub struct Reader<let N: u32>
{ /* private fields */ }
```

## Implementations

```rust
impl<let N: u32> Reader<N>
```

```rust
pub fn new(data: [Field; N]) -> Self
```

```rust
pub fn read(&mut self) -> Field
```

```rust
pub fn read_u32(&mut self) -> u32
```

```rust
pub fn read_u64(&mut self) -> u64
```

```rust
pub fn read_bool(&mut self) -> bool
```

```rust
pub fn read_array<let K: u32>(&mut self) -> [Field; K]
```

```rust
pub fn read_struct<T, let K: u32>(&mut self, deserialise: fn([Field; K]) -> T) -> T
```

```rust
pub fn read_struct_array<T, let K: u32, let C: u32>(
    &mut self,
    deserialise: fn([Field; K]) -> T,
    result: [T; C],
) -> [T; C]
```

```rust
pub fn peek_offset(&mut self, offset: u32) -> Field
```

```rust
pub fn advance_offset(&mut self, offset: u32)
```

```rust
pub fn finish(self)
```
