EncryptedIndex.
Parameters
| Parameter | Type | Description |
|---|---|---|
index_name | std::string | Name of the index to load. |
index_key | std::array<uint8_t, 32> | 32-byte encryption key (KEK) for the index. For a root load this is the root index KEK; for an RBAC user-scoped load (see user_id) this is that user’s KEK. |
logger | cyborg::Logger* | (Optional) Pointer to a logger instance for capturing operation logs (default is nullptr). |
user_id | std::optional<std::array<uint8_t, 16>> | (Optional) 16-byte RBAC user identifier. When provided, the index is loaded user-scoped: index_key is treated as that user’s KEK and per-operation permissions are enforced. Defaults to std::nullopt (root load). |
Returns
std::unique_ptr<cyborg::EncryptedIndex>: A pointer to the loaded index (EncryptedIndex).
Exceptions
std::invalid_argument
std::invalid_argument
- Throws if the index name does not exist.
std::runtime_error
std::runtime_error
- Throws if the index could not be loaded or decrypted.