|
libzarr
Header-only C++17 Zarr v2/v3, WASM-compatible
|
Generated by
tools/api_inventory.py— do not edit by hand. Lists every symbol innamespace zarr(andzarr::v2/zarr::v3) that is not inside adetail*namespace. This is the frozen 1.0 contract; a change here is an API change (see COMPATIBILITY.md).
LIBZARR_VERSION_MAJOR, LIBZARR_VERSION_MINOR, LIBZARR_VERSION_PATCHLIBZARR_HAS_ZLIB, LIBZARR_HAS_BLOSC, LIBZARR_HAS_ZSTD — set when the matching codec is compiled in; a codec header #errors without its flag.LIBZARR_EXTERNAL_JSON — use an external nlohmann/json instead of the vendored copy.LIBZARR_ZSTD_DECODE_ONLY — with zstd, omit the compress side (reader-only build; encoding a zstd chunk throws). Lets a consumer link zstd's decompress-only build.LIBZARR_DEPRECATED(msg) — marks a symbol deprecated (see COMPATIBILITY.md).enum class DType : std::uint8_t { boolean, int8, int16, int32, int64, uint8, uint16, uint32, uint64, float16, float32, float64, complex64, complex128, raw }enum class ZarrFormat : std::uint8_t { v2, v3 }using Bytes = std::vector<std::uint8_t>class error : std::runtime_errorusing std::runtime_error::runtime_errorstruct DataTypeDType kindstd::uint32_t itemsize[[nodiscard]] static constexpr DataType of(DType kind)[[nodiscard]] static constexpr DataType raw_bytes(std::uint32_t size)[[nodiscard]] friend constexpr bool operator==(DataType a, DataType b)[[nodiscard]] friend constexpr bool operator!=(DataType a, DataType b)[[nodiscard]] constexpr bool is_complex(DType kind)[[nodiscard]] constexpr bool is_float(DType kind)[[nodiscard]] constexpr bool is_signed_int(DType kind)[[nodiscard]] constexpr bool is_unsigned_int(DType kind)[[nodiscard]] constexpr std::uint32_t fixed_itemsize(DType kind)class MemoryStore : Store[[nodiscard]] std::optional<Bytes> read(std::string_view key) overridevoid write(std::string_view key, Bytes value) override[[nodiscard]] std::optional<std::uint64_t> size(std::string_view key) override[[nodiscard]] bool exists(std::string_view key) overridevoid erase(std::string_view key) override[[nodiscard]] std::vector<std::string> list_prefix(std::string_view prefix) override[[nodiscard]] DirListing list_dir(std::string_view prefix) override[[nodiscard]] std::size_t key_count() constclass Store[[nodiscard]] virtual std::optional<Bytes> read(std::string_view key) = 0[[nodiscard]] virtual std::optional<Bytes> read_range(std::string_view key, ByteRange range)[[nodiscard]] virtual std::optional<std::uint64_t> size(std::string_view key)[[nodiscard]] virtual std::vector<std::optional<Bytes>> read_many(const std::vector<ReadRequest>& requests)virtual void write(std::string_view key, Bytes value) = 0[[nodiscard]] virtual bool exists(std::string_view key) = 0virtual void erase(std::string_view key) = 0virtual void flush()[[nodiscard]] virtual std::vector<std::string> list_prefix(std::string_view prefix) = 0[[nodiscard]] virtual DirListing list_dir(std::string_view prefix) = 0struct ByteRangeenum class Kind : std::uint8_t { full, slice, suffix }Kind kindstd::uint64_t offsetstd::uint64_t length[[nodiscard]] static constexpr ByteRange full()[[nodiscard]] static constexpr ByteRange slice(std::uint64_t offset, std::uint64_t length)[[nodiscard]] static constexpr ByteRange suffix(std::uint64_t length)struct DirListingstd::vector<std::string> keysstd::vector<std::string> prefixesstruct ReadRequeststd::string_view keyByteRange range = ByteRange::full()enum class ChunkKeyKind : std::uint8_t { v2, v3_default }using json = nlohmann::jsonstruct ArrayMetaZarrFormat formatstd::vector<std::uint64_t> shapestd::vector<std::uint64_t> chunk_shapeDataType dtypestd::optional<Bytes> fillChunkKeyKind key_encodingchar dimension_separatorjson dimension_namesstd::vector<CodecSpec> codecsstd::vector<ShardLevel> shard_levelsjson attributes = json::object()[[nodiscard]] std::uint64_t element_count() const[[nodiscard]] std::uint64_t chunk_element_count() const[[nodiscard]] std::vector<std::uint64_t> grid_shape() conststruct CodecSpecstd::string namejson configuration = json::object()struct OpenOptionsbool lenientstruct ShardLevelstd::vector<std::uint64_t> shard_shapestd::vector<CodecSpec> index_codecsbool index_at_end[[nodiscard]] Bytes canonical_json_bytes(const json& j)[[nodiscard]] CodecSpec blosc(const std::string& cname = "", int clevel = 5, const std::string& shuffle = "")[[nodiscard]] CodecSpec crc32c()[[nodiscard]] CodecSpec gzip(int level = 5)[[nodiscard]] CodecSpec shuffle(int elementsize = 0)[[nodiscard]] CodecSpec zlib(int level = 5)[[nodiscard]] CodecSpec zstd(int level = 0, bool checksum = false)class CodecPipeline[[nodiscard]] static CodecPipeline resolve(const ArrayMeta& meta)[[nodiscard]] std::uint64_t decoded_chunk_bytes() const[[nodiscard]] bool is_identity() const[[nodiscard]] bool supports_partial_read() const[[nodiscard]] Bytes encode(Bytes chunk) const[[nodiscard]] Bytes decode_range(Bytes raw) const[[nodiscard]] Bytes decode(Bytes stored) constclass Arraystatic Array create(std::shared_ptr<Store> store, const std::string& path, const ArraySpec& spec)[[nodiscard]] static Array open(std::shared_ptr<Store> store, const std::string& path, OpenOptions options = {})[[nodiscard]] const ArrayMeta& meta() const[[nodiscard]] const std::string& path() const[[nodiscard]] std::vector<std::uint64_t> grid_shape() const[[nodiscard]] std::uint64_t nbytes() const[[nodiscard]] std::uint64_t chunk_nbytes() const[[nodiscard]] Bytes read_chunk(const std::vector<std::uint64_t>& index) constvoid write_chunk(const std::vector<std::uint64_t>& index, const void* data, std::size_t size)[[nodiscard]] Bytes read_chunk_range(const std::vector<std::uint64_t>& index, std::uint64_t element_offset, std::uint64_t element_count) constvoid read(void* dst, std::size_t size) constvoid write(const void* src, std::size_t size)void read_region(const std::vector<std::uint64_t>& origin, const std::vector<std::uint64_t>& shape, void* dst, std::size_t size) constvoid write_region(const std::vector<std::uint64_t>& origin, const std::vector<std::uint64_t>& shape, const void* src, std::size_t size)[[nodiscard]] const json& attributes() constvoid set_attributes(json attributes)[[nodiscard]] std::string chunk_store_key(const std::vector<std::uint64_t>& index) conststruct ArraySpecZarrFormat formatstd::vector<std::uint64_t> shapestd::vector<std::uint64_t> chunksDataType dtypestd::vector<CodecSpec> codecsstd::optional<Bytes> filljson attributes = json::object()char dimension_separatorjson dimension_namesstd::vector<std::uint64_t> shardsclass Groupstatic Group create(std::shared_ptr<Store> store, const std::string& path = "", ZarrFormat format = ZarrFormat::v2)[[nodiscard]] static Group open(std::shared_ptr<Store> store, const std::string& path = "", OpenOptions options = {})[[nodiscard]] const std::string& path() const[[nodiscard]] const json& attributes() constvoid set_attributes(json attributes)Group create_group(const std::string& name)Array create_array(const std::string& name, ArraySpec spec)[[nodiscard]] Group open_group(const std::string& name) const[[nodiscard]] Array open_array(const std::string& name) const[[nodiscard]] GroupChildren children() conststruct GroupChildrenstd::vector<std::string> arraysstd::vector<std::string> groupsstruct Extentstd::uint64_t offsetstd::uint64_t nbytesbool missingstruct Placementstd::string shard_keystd::uint64_t slotstd::uint64_t index_sizebool index_at_end[[nodiscard]] Bytes pack(const ArrayMeta& meta, const std::vector<std::optional<Bytes>>& entries, std::size_t level = 0)[[nodiscard]] Extent extent(const ArrayMeta& meta, const Bytes& index_bytes, std::uint64_t slot, std::size_t level = 0)[[nodiscard]] Placement place(const ArrayMeta& meta, const std::string& path, const std::vector<std::uint64_t>& inner_index, std::size_t level = 0)constexpr const char* kArraySuffixconstexpr const char* kAttrsSuffixconstexpr const char* kConsolidatedKeyconstexpr const char* kGroupSuffixstruct ParsedDTypeDataType dtypebool big_endian[[nodiscard]] ArrayMeta parse_array_meta(const json& j, const std::string& ctx)[[nodiscard]] ParsedDType parse_data_type(const std::string& text, const std::string& ctx)[[nodiscard]] json emit_array_meta(const ArrayMeta& meta)[[nodiscard]] json emit_group_meta()[[nodiscard]] std::optional<Bytes> parse_fill(const json& v, DataType dt, const std::string& ctx)[[nodiscard]] std::optional<json> read_consolidated(Store& store)[[nodiscard]] std::string chunk_key(const std::vector<std::uint64_t>& index, char separator)[[nodiscard]] std::string emit_data_type(DataType dt, bool big_endian)[[nodiscard]] std::string meta_key(const std::string& path, const char* suffix)void check_group_meta(const json& j, const std::string& ctx)void consolidate(Store& store)void erase_meta_key(Store& store, const std::string& key)void write_meta_key(Store& store, const std::string& key, const json& value)constexpr const char* kMetaKeystruct GroupMetajson attributes = json::object()std::optional<json> consolidated[[nodiscard]] ArrayMeta parse_array_meta(const json& j, const std::string& ctx, bool lenient = false)[[nodiscard]] DataType parse_data_type(const json& v, const std::string& ctx)[[nodiscard]] GroupMeta parse_group_meta(const json& j, const std::string& ctx, bool lenient = false)[[nodiscard]] json emit_array_meta(const ArrayMeta& meta)[[nodiscard]] json emit_fill(const std::optional<Bytes>& fill, DataType dt)[[nodiscard]] json emit_group_meta(const json& attributes)[[nodiscard]] std::optional<Bytes> parse_fill(const json& v, DataType dt, const std::string& ctx, bool lenient)[[nodiscard]] std::string chunk_key(const std::vector<std::uint64_t>& index, char separator)[[nodiscard]] std::string emit_data_type(DataType dt)[[nodiscard]] std::string meta_key(const std::string& path)void consolidate(Store& store)class ZipStore : StoreZipStore(std::shared_ptr<Store> source, std::string archive_key)[[nodiscard]] std::optional<Bytes> read(std::string_view key) override[[nodiscard]] std::optional<Bytes> read_range(std::string_view key, ByteRange range) override[[nodiscard]] std::optional<std::uint64_t> size(std::string_view key) override[[nodiscard]] bool exists(std::string_view key) overridevoid write(std::string_view, Bytes) overridevoid erase(std::string_view) override[[nodiscard]] std::vector<std::string> list_prefix(std::string_view prefix) override[[nodiscard]] DirListing list_dir(std::string_view prefix) override[[nodiscard]] std::size_t entry_count() constvoid zip_pack(Store& source, Store& dest, const std::string& dest_key, const std::string& prefix = "")class FilesystemStore : Storeexplicit FilesystemStore(std::filesystem::path root, bool create = true)[[nodiscard]] std::optional<Bytes> read(std::string_view key) override[[nodiscard]] std::optional<Bytes> read_range(std::string_view key, ByteRange range) overridevoid write(std::string_view key, Bytes value) override[[nodiscard]] std::optional<std::uint64_t> size(std::string_view key) override[[nodiscard]] bool exists(std::string_view key) overridevoid erase(std::string_view key) override[[nodiscard]] std::vector<std::string> list_prefix(std::string_view prefix) override[[nodiscard]] DirListing list_dir(std::string_view prefix) override