# shz::version

Source: https://sh4zam.com/api/cpp/version/

Class representing a full SH4ZAM API version.

- **Header:** `#include <sh4zam/shz_version.hpp>` ([source](https://github.com/gyrovorbis/sh4zam/blob/ba1e30c88d49df0311870b229e1dd860ef26c477/include/sh4zam/shz_version.hpp#L21))

## Static functions

### compiled

```cpp
static constexpr version compiled() noexcept
```

Compile-time version of SH4ZAM headers which are being included.

### linked

```cpp
static version linked() noexcept
```

Link-time version of SH4ZAM library which was linked against.

Calls: [`shz_version_linked()`](https://sh4zam.com/api/version/shz_version_linked/)

## Members

### value_

```cpp
shz_version_t value_
```

Private packed value member.

### version

```cpp
version(shz_version_t value) noexcept
version(uint8_t major, uint16_t minor, uint8_t patch) noexcept
```

Constructs a version from the given full value.

### operator shz_version_t

```cpp
operator shz_version_t() const noexcept
```

Implicit conversion operator to make this class automatically comparable to a `uint32_t`.

### operator=

```cpp
version operator=(uint32_t rhs) noexcept
```

Assignment operator for assigning a version to a full version ID value.

### major

```cpp
uint8_t major() const noexcept
```

Extracts the major component value from a full version.

### minor

```cpp
uint16_t minor() const noexcept
```

Extracts the minor component value from a full version.

### patch

```cpp
uint8_t patch() const noexcept
```

Extracts the patch component value from a full version.
