# `Zvex.Native`
[🔗](https://github.com/edlontech/zvex/blob/main/lib/zvex/native.ex#L1)

Low-level NIF bindings to the zvec C API via Zigler.

This module provides direct access to zvec's version information,
initialization, and shutdown functions. Prefer using the higher-level
`Zvex` module API instead of calling these directly.

# `check_version`

```elixir
@spec check_version(
  -2_147_483_648..2_147_483_647,
  -2_147_483_648..2_147_483_647,
  -2_147_483_648..2_147_483_647
) :: boolean()
```

# `collection_add_column`

```elixir
@spec collection_add_column(term(), term(), term()) :: term()
```

# `collection_alter_column`

```elixir
@spec collection_alter_column(term(), term(), term(), term()) :: term()
```

# `collection_close`

```elixir
@spec collection_close(term()) :: term()
```

# `collection_create_and_open`

```elixir
@spec collection_create_and_open(term(), term(), term()) :: term()
```

# `collection_create_index`

```elixir
@spec collection_create_index(term(), term(), term()) :: term()
```

# `collection_delete`

```elixir
@spec collection_delete(term(), term()) :: term()
```

# `collection_delete_by_filter`

```elixir
@spec collection_delete_by_filter(term(), term()) :: term()
```

# `collection_delete_with_results`

```elixir
@spec collection_delete_with_results(term(), term()) :: term()
```

# `collection_drop_column`

```elixir
@spec collection_drop_column(term(), term()) :: term()
```

# `collection_drop_index`

```elixir
@spec collection_drop_index(term(), term()) :: term()
```

# `collection_fetch`

```elixir
@spec collection_fetch(term(), term()) :: term()
```

# `collection_field_names`

```elixir
@spec collection_field_names(term(), term()) :: term()
```

# `collection_flush`

```elixir
@spec collection_flush(term()) :: term()
```

# `collection_get_options`

```elixir
@spec collection_get_options(term()) :: term()
```

# `collection_get_schema`

```elixir
@spec collection_get_schema(term()) :: term()
```

# `collection_get_stats`

```elixir
@spec collection_get_stats(term()) :: term()
```

# `collection_has_field`

```elixir
@spec collection_has_field(term(), term()) :: term()
```

# `collection_has_index`

```elixir
@spec collection_has_index(term(), term()) :: term()
```

# `collection_insert`

```elixir
@spec collection_insert(term(), term()) :: term()
```

# `collection_insert_with_results`

```elixir
@spec collection_insert_with_results(term(), term()) :: term()
```

# `collection_open`

```elixir
@spec collection_open(term(), term()) :: term()
```

# `collection_optimize`

```elixir
@spec collection_optimize(term()) :: term()
```

# `collection_query`

```elixir
@spec collection_query(term(), term()) :: term()
```

# `collection_update`

```elixir
@spec collection_update(term(), term()) :: term()
```

# `collection_update_with_results`

```elixir
@spec collection_update_with_results(term(), term()) :: term()
```

# `collection_upsert`

```elixir
@spec collection_upsert(term(), term()) :: term()
```

# `collection_upsert_with_results`

```elixir
@spec collection_upsert_with_results(term(), term()) :: term()
```

# `doc_deserialize`

```elixir
@spec doc_deserialize(term()) :: term()
```

# `doc_detail_string`

```elixir
@spec doc_detail_string(term()) :: term()
```

# `doc_memory_usage`

```elixir
@spec doc_memory_usage(term()) :: term()
```

# `doc_serialize`

```elixir
@spec doc_serialize(term()) :: term()
```

# `initialize`

```elixir
@spec initialize() :: term()
```

# `initialize_with_config`

```elixir
@spec initialize_with_config(term()) :: term()
```

# `is_initialized`

```elixir
@spec is_initialized() :: boolean()
```

# `shutdown`

```elixir
@spec shutdown() :: term()
```

# `version`

```elixir
@spec version() :: term()
```

# `version_major`

```elixir
@spec version_major() :: -2_147_483_648..2_147_483_647
```

# `version_minor`

```elixir
@spec version_minor() :: -2_147_483_648..2_147_483_647
```

# `version_patch`

```elixir
@spec version_patch() :: -2_147_483_648..2_147_483_647
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
