auth 0.0.1
Authenticated computation with C++26 modules
Loading...
Searching...
No Matches
auth::db Concept Referenceexport
module auth

A database with associated sealed types and seal/unseal operations. D is the database type, optionally reference-qualified. More...

Concept definition

template<class D>
concept db = requires(D& database, std::uint32_t value,
typename std::remove_cvref_t<D>::template sealed<std::uint32_t> p) {
{ database.seal(value) } ->
std::same_as<typename std::remove_cvref_t<D>::template sealed<std::uint32_t>>;
{ database.unseal(std::move(p)) } -> std::same_as<std::uint32_t>;
}
typename std::remove_cvref_t< DB >::template sealed< T > sealed
Selects a database's associated sealed type.
Definition auth.ccm:196
A database with associated sealed types and seal/unseal operations. D is the database type,...
Definition auth.ccm:184

Detailed Description

A database with associated sealed types and seal/unseal operations. D is the database type, optionally reference-qualified.

Note
The constraint checks uint32_t as a representative payload. Each actual call checks its own payload type; C++ concepts cannot quantify over all types.
auto compute(db auto& db) {
return db.unseal(db.seal(std::uint32_t{42}));
}

Definition at line 184 of file auth.ccm.