Loads an existing encrypted index and returns an instance of EncryptedIndex.

std::unique_ptr<cyborg::EncryptedIndex> 
    LoadIndex(const std::string index_name,
              const std::array<uint8_t, 32>& index_key,
              const std::optional<size_t>& max_cache_size = 0);

Parameters

ParameterTypeDescription
index_namestd::stringName of the index to create (must be unique).
index_keystd::array<uint8_t, 32>32-byte encryption key for the index, used to secure index data.
max_cache_sizesize_t(Optional) Maximum size for the local cache (default is 0).

Returns

std::unique_ptr<cyborg::EncryptedIndex>: A pointer to the loaded index (EncryptedIndex).

Exceptions

Example Usage

#include "cyborgdb_core/client.hpp"
#include "cyborgdb_core/encrypted_index.hpp"
#include <array>

// ... Initialize the client ...

// Create a secure 32-byte key (example: all zeros)
std::array<uint8_t, 32> index_key = {0};

auto index = client.LoadIndex("my_index", index_key);