.. _program_listing_file_include_util_db_nearest_BackendConcept.hpp: Program Listing for File BackendConcept.hpp =========================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include\util\db\nearest\BackendConcept.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include "util/common/Result.hpp" #include "util/db/nearest/Types.hpp" #include #include #include #include namespace PDJE_UTIL::db::nearest { template concept NearestNeighborBackendConcept = requires(typename Backend::config_type cfg, Backend backend, std::string_view key, const Item &item, std::span query, SearchOptions options) { typename Backend::config_type; { Backend::create(cfg) } -> std::same_as>; { Backend::destroy(cfg) } -> std::same_as>; { backend.open(cfg) } -> std::same_as>; { backend.close() } -> std::same_as>; { backend.contains(key) } -> std::same_as>; { backend.get_item(key) } -> std::same_as>; { backend.upsert_item(item) } -> std::same_as>; { backend.erase_item(key) } -> std::same_as>; { backend.search(query, options) } -> std::same_as>>; { backend.list_keys() } -> std::same_as>>; }; } // namespace PDJE_UTIL::db::nearest