= Vector::new();
let mut a = v.grow();
a.set_x(1);
a.set_y(2);
let mut b = v.grow();
b.set_x(3);
b.set_y(4);
assert_eq!(v.len(), 2);
builder.set_data(&v.as_view());
let archive = X::open(storage).expect("failed to open");
let view = archive.data();
assert_eq!(view[1].x(), 3);
```
--------------------------------
### strip_prefix
Source: https://docs.rs/flatdata/latest/flatdata/struct.Vector.html
Returns a subslice with the prefix removed. If the slice starts with `prefix`, returns the subslice after the prefix, wrapped in `Some`. If `prefix` is empty, simply returns the original slice. If `prefix` is equal to the original slice, returns an empty slice. If the slice does not start with `prefix`, returns `None`.
```APIDOC
## strip_prefix(&self, prefix: &P) -> Option<&[T]>
where P: SlicePattern- + ?Sized, T: PartialEq
### Description
Returns a subslice with the prefix removed. Returns `Some` with the subslice after the prefix if the slice starts with `prefix`, otherwise returns `None`.
### Parameters
#### Path Parameters
- **prefix** (&P) - Required - The prefix to remove. `P` must implement `SlicePattern`.
### Method
`strip_prefix`
### Endpoint
N/A (Method on slice)
### Request Example
```rust
let v = &[10, 40, 30];
assert_eq!(v.strip_prefix(&[10]), Some(&[40, 30][..]));
assert_eq!(v.strip_prefix(&[10, 40]), Some(&[30][..]));
assert_eq!(v.strip_prefix(&[10, 40, 30]), Some(&[][..]));
assert_eq!(v.strip_prefix(&[50]), None);
assert_eq!(v.strip_prefix(&[10, 50]), None);
let prefix : &str = "he";
assert_eq!(b"hello".strip_prefix(prefix.as_bytes()),
Some(b"llo".as_ref()));
```
### Response
#### Success Response (Option)
- `Option<&[T]>`: A slice with the prefix removed if it exists, otherwise `None`.
```
--------------------------------
### YBuilder::start_data
Source: https://docs.rs/flatdata/latest/src/flatdata/test/test_generated.rs.html
Opens the data resource in the archive for buffered writing.
```APIDOC
## YBuilder::start_data
### Description
Opens the data resource in the archive for buffered writing. Elements can be added until `ExternalVector::close` is called. This method must be called at the end to fully flush the data.
### Signature
```rust
#[inline]
pub fn start_data(&self) -> ::std::io::Result>
```
### Returns
A `Result` containing an `ExternalVector` for buffered writing or an `io::Error`.
```
--------------------------------
### ZBuilder::new
Source: https://docs.rs/flatdata/latest/src/flatdata/test/test_generated.rs.html
Creates a new 'Z' archive with the given storage handle.
```APIDOC
## new
### Description
Creates a new 'Z' archive with the given storage handle.
### Method
`pub fn new(storage: crate::StorageHandle) -> Result`
### Endpoint
N/A (SDK method)
### Parameters
- **storage** (`crate::StorageHandle`): The storage handle for the archive.
### Request Example
N/A
### Response
#### Success Response
- `Self`: A new `ZBuilder` instance.
#### Response Example
N/A
```