|
libzarr
Header-only C++17 Zarr v2/v3, WASM-compatible
|
#include <cassert>#include <cstdint>#include <stdexcept>#include <vector>Go to the source code of this file.
Classes | |
| class | zarr::error |
| struct | zarr::DataType |
| A concrete element type: kind plus size (the size only varies for raw). More... | |
Macros | |
| #define | LIBZARR_VERSION_MAJOR 1 |
| Library major version. | |
| #define | LIBZARR_VERSION_MINOR 0 |
| Library minor version. | |
| #define | LIBZARR_VERSION_PATCH 0 |
| Library patch version. | |
| #define | LIBZARR_DEPRECATED(msg) [[deprecated(msg)]] |
Typedefs | |
| using | zarr::Bytes = std::vector< std::uint8_t > |
| Owned byte buffer used throughout the value-based public API. | |
Enumerations | |
| enum class | zarr::ZarrFormat : std::uint8_t { v2 = 2 , v3 = 3 } |
| Zarr storage format version. | |
| enum class | zarr::DType : std::uint8_t { boolean , int8 , int16 , int32 , int64 , uint8 , uint16 , uint32 , uint64 , float16 , float32 , float64 , complex64 , complex128 , raw } |
Functions | |
| constexpr bool | zarr::is_float (DType kind) |
| True for float16/float32/float64. | |
| constexpr bool | zarr::is_signed_int (DType kind) |
| True for int8..int64. | |
| constexpr bool | zarr::is_unsigned_int (DType kind) |
| True for uint8..uint64. | |
| constexpr bool | zarr::is_complex (DType kind) |
| True for complex64/complex128. | |
| constexpr std::uint32_t | zarr::fixed_itemsize (DType kind) |
Fundamental types shared across libzarr: the error type, the byte buffer alias, data types, and library version macros.
| #define LIBZARR_DEPRECATED | ( | msg | ) | [[deprecated(msg)]] |
Marks a public symbol deprecated with a migration message. Per docs/COMPATIBILITY.md a deprecated symbol is kept — emitting a compiler warning — for at least one minor release before removal in the next major.
|
strong |
Element type kinds. raw is a fixed-size byte string (v2 |V<n>, v3 r<bits>) whose size lives in DataType::itemsize.
|
constexpr |
Element size in bytes fixed by the kind; 0 for DType::raw (whose size is per-array).