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

# Struct Writer

Module: `serde::writer`

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

## Implementations

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

```rust
pub fn new() -> Self
```

```rust
pub fn write(&mut self, value: Field)
```

```rust
pub fn write_u32(&mut self, value: u32)
```

```rust
pub fn write_u64(&mut self, value: u64)
```

```rust
pub fn write_bool(&mut self, value: bool)
```

```rust
pub fn write_array<let K: u32>(&mut self, value: [Field; K])
```

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

```rust
pub fn write_struct_array<T, let K: u32, let C: u32>(
    &mut self,
    value: [T; C],
    serialize: fn(T) -> [Field; K],
)
```

```rust
pub fn finish(self) -> [Field; N]
```
