# `Eyeon.Binary11`
[🔗](https://gitlab.com/phinnaeus/eyeon/blob/main/lib/eyeon/binary11.ex#L1)

Shared primitives for Ion 1.1 binary encoding.

Ion 1.1 uses little-endian byte order with self-delimiting variable-length
encodings: FlexUInt, FlexInt, FlexSym, FixedUInt, FixedInt.

# `read_fixed_int`

```elixir
@spec read_fixed_int(binary(), non_neg_integer()) :: {integer(), binary()}
```

# `read_fixed_uint`

```elixir
@spec read_fixed_uint(binary(), non_neg_integer()) :: {non_neg_integer(), binary()}
```

# `read_flex_int`

```elixir
@spec read_flex_int(nonempty_binary()) :: {integer(), binary()}
```

# `read_flex_sym`

```elixir
@spec read_flex_sym(nonempty_binary()) ::
  {:sid, non_neg_integer(), binary()} | {:text, String.t(), binary()}
```

# `read_flex_uint`

```elixir
@spec read_flex_uint(nonempty_binary()) :: {non_neg_integer(), binary()}
```

---

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