class snapshot_t It owns its handle, never copies, and holds its database open until destroyed, so it may outlive its database_t.
snapshot_tA point-in-time view of the whole database, which reads through it see until its destructor frees it.class snapshot_t It owns its handle, never copies, and holds its database open until destroyed, so it may outlive its database_t.
snapshot_ref_tA point-in-time view of the whole database, as the calls on one executor see it, without owning either.7snapshot_ref_tonThe same snapshot, running every call on executor.snapshot_ref_t on(ustore_executor_t executor) const noexcept; deferredThe same snapshot, whose verbs submit to executor and answer deferred calls.deferred_snapshot_t deferred(ustore_executor_t executor) const noexcept; collectionsLists the collections at the snapshot, with their identifiers in arena.expected<collections_list_t> collections(arena_t & arena) noexcept; containsWhether a collection named name exists at the snapshot.expected<bool> contains(std::string_view name) noexcept; findOpens a read-only view of one collection at the snapshot.template <typename collection_type_ = blobs_collection_t>
expected<typename collection_type_::read_only_t> find(
std::string_view name) noexcept; saveSaves the snapshot as a new database at path, reporting the bytes saved to progress, which may cancel the save and so remove what it wrote.status_t save(
std::string_view path,
progress_arg_t progress = {}) noexcept;