|
libkazv
|
Namespaces | |
| namespace | Api |
| namespace | Base64Opts |
| namespace | CryptoConstants |
| namespace | CursorOp |
| namespace | DecryptKeyExportErrorCodes |
| namespace | detail |
| namespace | Factory |
| namespace | PromiseCombination |
| namespace | VerificationCancelCodes |
| namespace | VerificationEventTypes |
| namespace | VerificationProcessStates |
| namespace | VerificationUtils |
Enumerations | |
| enum | JobQueuePolicy { AlwaysContinue , CancelFutureIfFailed } |
| enum struct | FileOpRetCode { Error , Success , Eof } |
| enum struct | FileOpenMode { Read , Write } |
| enum | Status : bool { FAIL , SUCC } |
| enum | RoomMembership { Invite , Join , Leave } |
| enum class | CastArrayStrategy { IgnoreInvalid , FailAll } |
| Strategy used for castArray(). More... | |
| enum class | CastObjectStrategy { IgnoreInvalid , FailAll } |
| Strategy used for castObject(). More... | |
| enum | RoomVisibility { Private , Public } |
| enum | CreateRoomPreset { PrivateChat , PublicChat , TrustedPrivateChat } |
| enum | ThumbnailResizingMethod { Crop , Scale } |
| enum | DeviceTrustLevel { Blocked , Unseen , Seen , Verified } |
Functions | |
| template<class Exec > | |
| AsioStdFileHandler (Exec) -> AsioStdFileHandler< Exec > | |
| bool | operator== (const BaseJob &a, const BaseJob &b) |
| bool | operator!= (const BaseJob &a, const BaseJob &b) |
| bool | isBodyJson (Body body) |
| template<class T > | |
| void | addToQuery (BaseJob::Query &q, std::string name, T &&arg) |
| template<class T > | |
| void | addToQueryIfNeeded (BaseJob::Query &q, std::string name, T &&arg) |
| template<class T , class V > | |
| constexpr auto | jsonAtOr (T &&key, V &&defaultValue) |
| template<class Cursor , class ... Cursors> | |
| constexpr auto | allCursors (Cursor &&first, Cursors &&...cursors) |
| auto | allCursors () |
| template<class Cursor , class ... Cursors> | |
| constexpr auto | anyCursor (Cursor &&first, Cursors &&...cursors) |
| auto | anyCursor () |
| bool | operator== (const Event &a, const Event &b) |
| template<class T > | |
| auto | getIn (T &&item) |
| template<class ImmerT , class K , class ... Keys> | |
| auto | getIn (ImmerT &&container, K &&key, Keys &&...keys) |
| template<class T > | |
| auto | setIn (T, T newVal) |
| template<class ImmerT , class K > | |
| auto | setIn (ImmerT container, std::decay_t< decltype(getIn(std::declval< ImmerT >(), std::declval< K >()))> newVal, K &&key) -> std::decay_t< ImmerT > |
| template<class ImmerT , class K , class ... Keys> | |
| auto | setIn (ImmerT container, std::decay_t< decltype(getIn(std::declval< ImmerT >(), std::declval< K >(), std::declval< Keys >()...))> newVal, K &&key, Keys &&...keys) -> std::decay_t< ImmerT > |
| template<class T , class Func > | |
| auto | updateIn (T oldVal, Func func) -> T |
| template<class ImmerT , class Func , class ... Keys> | |
| auto | updateIn (ImmerT container, Func func, Keys &&...keys) -> ImmerT |
| template<class ImmerT , class Func , class ValueT = typename ImmerT::value_type> | |
| auto | withBox (ImmerT &box, Func &&func) -> std::decay_t< std::invoke_result_t< Func &&, ValueT & > > |
| Do something with the box, updating its value, then return the return value of the function. | |
| template<class ImmerT , class Key , class Func , class BoxT = typename ImmerT::mapped_type, class ValueT = typename BoxT::value_type> | |
| auto | withMapBox (ImmerT &map, Key &&k, Func &&func) -> std::decay_t< std::invoke_result_t< Func &&, ValueT & > > |
| template<class Jsonish , class Key , class Func > | |
| bool | hasAtThat (Jsonish &&j, Key &&k, Func &&f) |
| bool | isNonCompoundCanonicalJsonValue (const nlohmann::json &j) |
| template<class Jsonish , class RangeT > | |
| std::optional< std::decay_t< Jsonish > > | getInJson (Jsonish &&j, RangeT &&path, std::size_t index=0) |
| template<class T > | |
| void | addToJsonIfNeeded (json &j, std::string name, T &&arg) |
| template<class MapT , std::enable_if_t<!std::is_same_v< std::decay_t< MapT >, json > &&!std::is_same_v< std::decay_t< MapT >, JsonWrap >, int > = 0> | |
| void | addPropertyMapToJson (json &j, MapT &&arg) |
| void | addPropertyMapToJson (json &j, const json &arg) |
| template<class Jsonish , class Key , class Validator > | |
| bool | cast (Jsonish &ret, const Jsonish &input, Key &&k, Validator &&f) |
Run validator against input[k] and add it to ret. | |
| template<class Func > | |
| auto | identValidate (Func &&f) |
| Make an identity validator. | |
| template<class Jsonish , class Key , class Validator > | |
| bool | castArray (Jsonish &ret, const Jsonish &input, Key &&k, Validator &&f, CastArrayStrategy strategy) |
| Cast an array of items. | |
| template<class Jsonish , class Key , class Validator > | |
| bool | castObject (Jsonish &ret, const Jsonish &input, Key &&k, Validator &&f, CastObjectStrategy strategy) |
| Cast an object of items. | |
| template<class Jsonish , class Key , class Jsonish2 > | |
| std::decay_t< Jsonish > | makeDefaultValue (Jsonish &&input, Key &&k, Jsonish2 &&defaultValue) |
| Replace a non-existent value with a default one. | |
| ClientResult | updateClient (ClientModel m, SetAccountDataPerRoomAction a) |
| ClientResult | processResponse (ClientModel m, SetAccountDataPerRoomResponse r) |
| ClientResult | updateClient (ClientModel m, SetAccountDataAction a) |
| ClientResult | processResponse (ClientModel m, SetAccountDataResponse r) |
| ClientResult | updateClient (ClientModel m, LoginAction a) |
| ClientResult | updateClient (ClientModel m, MLoginTokenLoginAction a) |
| ClientResult | processResponse (ClientModel m, LoginResponse r) |
| ClientResult | updateClient (ClientModel m, TokenLoginAction a) |
| ClientResult | updateClient (ClientModel m, LogoutAction) |
| ClientResult | updateClient (ClientModel m, HardLogoutAction) |
| ClientResult | processResponse (ClientModel m, LogoutResponse r) |
| ClientResult | updateClient (ClientModel m, GetWellknownAction a) |
| ClientResult | processResponse (ClientModel m, GetWellknownResponse r) |
| ClientResult | updateClient (ClientModel m, GetVersionsAction a) |
| ClientResult | processResponse (ClientModel m, GetVersionsResponse r) |
| std::pair< std::string, std::string > | mxcUriToMediaDesc (std::string mxcUri) |
| ClientResult | updateClient (ClientModel m, UploadContentAction a) |
| ClientResult | processResponse (ClientModel m, UploadContentResponse r) |
| ClientResult | updateClient (ClientModel m, DownloadContentAction a) |
| ClientResult | processResponse (ClientModel m, GetContentResponse r) |
| ClientResult | updateClient (ClientModel m, DownloadThumbnailAction a) |
| ClientResult | processResponse (ClientModel m, GetContentThumbnailResponse r) |
| ClientResult | updateClient (ClientModel m, UploadIdentityKeysAction) |
| ClientResult | updateClient (ClientModel m, GenerateAndUploadOneTimeKeysAction a) |
| ClientResult | processResponse (ClientModel m, UploadKeysResponse r) |
| Event | decryptEvent (ClientModel &m, Event e) |
| ClientModel | tryDecryptEvents (ClientModel m) |
| std::optional< BaseJob > | clientPerform (ClientModel m, QueryKeysAction a) |
| ClientResult | updateClient (ClientModel m, QueryKeysAction a) |
| ClientResult | updateClient (ClientModel m, EnsureKeysFromDevicesAction a) |
| ClientResult | processResponse (ClientModel m, QueryKeysResponse r) |
| ClientResult | updateClient (ClientModel m, ClaimKeysAction a) |
| ClientResult | processResponse (ClientModel m, ClaimKeysResponse r) |
| ClientResult | updateClient (ClientModel m, EncryptMegOlmEventAction a) |
| ClientResult | updateClient (ClientModel m, SetDeviceTrustLevelAction a) |
| ClientResult | updateClient (ClientModel m, SetDevicesTrustLevelsAction a) |
| ClientResult | updateClient (ClientModel m, SetTrustLevelNeededToSendKeysAction a) |
| ClientResult | updateClient (ClientModel m, PrepareForSharingRoomKeyAction a) |
| ClientResult | updateClient (ClientModel m, ImportFromKeyBackupFileAction a) |
| ClientResult | updateClient (ClientModel m, NotifyVerificationTrackerModelAction a) |
| ClientResult | updateClient (ClientModel m, RequestShareRoomSessionKeyAction a) |
| ClientResult | updateClient (ClientModel m, SetTypingAction a) |
| ClientResult | processResponse (ClientModel m, SetTypingResponse r) |
| ClientResult | updateClient (ClientModel m, PostReceiptAction a) |
| ClientResult | processResponse (ClientModel m, PostReceiptResponse r) |
| ClientResult | updateClient (ClientModel m, SetReadMarkerAction a) |
| ClientResult | processResponse (ClientModel m, SetReadMarkerResponse r) |
| ClientResult | updateClient (ClientModel m, CreateRoomAction a) |
| ClientResult | processResponse (ClientModel m, CreateRoomResponse r) |
| ClientResult | updateClient (ClientModel m, InviteToRoomAction a) |
| ClientResult | processResponse (ClientModel m, InviteUserResponse r) |
| ClientResult | updateClient (ClientModel m, JoinRoomAction a) |
| ClientResult | processResponse (ClientModel m, JoinRoomResponse r) |
| ClientResult | updateClient (ClientModel m, JoinRoomByIdAction a) |
| ClientResult | processResponse (ClientModel m, JoinRoomByIdResponse r) |
| ClientResult | updateClient (ClientModel m, LeaveRoomAction a) |
| ClientResult | processResponse (ClientModel m, LeaveRoomResponse r) |
| ClientResult | updateClient (ClientModel m, ForgetRoomAction a) |
| ClientResult | processResponse (ClientModel m, ForgetRoomResponse r) |
| ClientResult | updateClient (ClientModel m, KickAction a) |
| ClientResult | processResponse (ClientModel m, KickResponse r) |
| ClientResult | updateClient (ClientModel m, BanAction a) |
| ClientResult | processResponse (ClientModel m, BanResponse r) |
| ClientResult | updateClient (ClientModel m, UnbanAction a) |
| ClientResult | processResponse (ClientModel m, UnbanResponse r) |
| ClientResult | updateClient (ClientModel m, PaginateTimelineAction a) |
| ClientResult | processResponse (ClientModel m, GetRoomEventsResponse r) |
| ClientResult | updateClient (ClientModel m, GetUserProfileAction a) |
| ClientResult | processResponse (ClientModel m, GetUserProfileResponse r) |
| ClientResult | updateClient (ClientModel m, SetAvatarUrlAction a) |
| ClientResult | processResponse (ClientModel m, SetAvatarUrlResponse r) |
| ClientResult | updateClient (ClientModel m, SetDisplayNameAction a) |
| ClientResult | processResponse (ClientModel m, SetDisplayNameResponse r) |
| ClientResult | updateClient (ClientModel m, SendMessageAction a) |
| ClientResult | processResponse (ClientModel m, SendMessageResponse r) |
| ClientResult | updateClient (ClientModel m, SendToDeviceMessageAction a) |
| ClientResult | updateClient (ClientModel m, SendMultipleToDeviceMessagesAction a) |
| ClientResult | processResponse (ClientModel m, SendToDeviceResponse r) |
| ClientResult | updateClient (ClientModel m, SaveLocalEchoAction a) |
| ClientResult | updateClient (ClientModel m, UpdateLocalEchoStatusAction a) |
| ClientResult | updateClient (ClientModel m, RedactEventAction a) |
| ClientResult | processResponse (ClientModel m, RedactEventResponse r) |
| BaseJob | clientPerform (ClientModel m, GetRoomStatesAction a) |
| ClientResult | updateClient (ClientModel m, GetRoomStatesAction a) |
| ClientResult | processResponse (ClientModel m, GetRoomStateResponse r) |
| ClientResult | updateClient (ClientModel m, GetStateEventAction a) |
| ClientResult | processResponse (ClientModel m, GetRoomStateWithKeyResponse r) |
| ClientResult | updateClient (ClientModel m, SendStateEventAction a) |
| ClientResult | processResponse (ClientModel m, SetRoomStateWithKeyResponse r) |
| ClientResult | updateClient (ClientModel m, LoadEventsFromStorageAction a) |
| ClientResult | updateClient (ClientModel m, PurgeRoomTimelineAction a) |
| ClientResult | updateClient (ClientModel m, SyncAction) |
| ClientResult | processResponse (ClientModel m, SyncResponse r) |
| ClientResult | updateClient (ClientModel m, SetShouldSyncAction a) |
| ClientResult | updateClient (ClientModel m, PostInitialFiltersAction) |
| ClientResult | processResponse (ClientModel m, DefineFilterResponse r) |
| BaseJob | getRoomIdByAliasJob (ClientModel m, std::string roomAlias) |
| EffectStatus | parseGetRoomIdByAliasResponse (GetRoomIdByAliasResponse r) |
| template<class Archive > | |
| void | serialize (Archive &ar, ClientModel &m, std::uint32_t const version) |
| std::string | increaseTxnId (std::string cur) |
| std::string | getTxnId (Event, ClientModel &m) |
| template<class K , class V , class List , class Func > | |
| immer::map< K, V > | merge (immer::map< K, V > map, List list, Func keyOf) |
| std::string | keyOfPresence (Event e) |
| std::string | keyOfAccountData (Event e) |
| std::string | keyOfTimeline (Event e) |
| std::string | keyOfEphemeral (Event e) |
| template<class Archive > | |
| void | serialize (Archive &ar, KeyOfState &m, std::uint32_t const) |
| KeyOfState | keyOfState (Event e) |
| template<class Context > | |
| JobInterface & | getJobHandler (Context &&ctx) |
| template<class Context > | |
| EventInterface & | getEventEmitter (Context &&ctx) |
| template<class ImmerT1 , class RangeT2 , class Pred , class Func > | |
| ImmerT1 | sortedUniqueMerge (ImmerT1 base, RangeT2 addon, Pred exists, Func keyOf) |
Merge addon into the sorted container base. | |
| template<class Archive > | |
| void | serialize (Archive &ar, DeviceKeyInfo &i, std::uint32_t const version) |
| template<class Archive > | |
| void | serialize (Archive &ar, DeviceListTracker &t, std::uint32_t const) |
| std::string | percentEncode (std::string url) |
| KAZV_DEFINE_COPYABLE_UNIQUE_PTR (PowerLevelsDesc, m_d) | |
| std::vector< std::string > | splitPath (std::string path) |
| bool | matchGlob (std::string target, std::string pattern) |
| std::pair< bool, json > | validateRule (std::string ruleSetName, const json &rule) |
| Event | validatePushRules (const Event &e) |
| KAZV_DEFINE_COPYABLE_UNIQUE_PTR (PushRulesDesc, m_d) | |
| template<class Archive > | |
| void | serialize (Archive &ar, LocalDraft &draft, std::uint32_t const) |
| PendingRoomKeyEvent | makePendingRoomKeyEventV0 (std::string txnId, Event event, immer::map< std::string, immer::flex_vector< std::string > > devices) |
| auto | sortKeyForTimelineEvent (Event e) -> std::tuple< Timestamp, std::string > |
| Get the sort key for a timeline event. | |
| auto | memberEventsByMembership (immer::map< KeyOfState, Event > stateEvents, const std::string &membership) |
| template<class Archive > | |
| void | serialize (Archive &ar, ReadReceipt &r, std::uint32_t const) |
| template<class Archive > | |
| void | serialize (Archive &ar, PendingRoomKeyEvent &e, std::uint32_t const version) |
| template<class Archive > | |
| void | serialize (Archive &ar, RoomModel &r, std::uint32_t const version) |
| template<class Archive > | |
| void | serialize (Archive &ar, RoomListModel &l, std::uint32_t const) |
| template<class Archive > | |
| void | serialize (Archive &ar, SdkModel &s, std::uint32_t const) |
| template<class EventLoop , class Xform , class ... Enhancers> | |
| auto | makeSdk (SdkModel sdk, JobInterface &jobHandler, EventInterface &eventEmitter, EventLoop &&eventLoop, Xform &&xform, Enhancers &&...enhancers) -> Sdk< EventLoop, Xform, Enhancers... > |
| Create an sdk with the provided model. | |
| std::size_t | makeDefaultSdkWithCryptoRandomSize () |
| template<class EventLoop , class Xform , class ... Enhancers> | |
| auto | makeDefaultEncryptedSdk (JobInterface &jobHandler, EventInterface &eventEmitter, EventLoop &&eventLoop, Xform &&xform, Enhancers &&...enhancers) -> Sdk< EventLoop, Xform, Enhancers... > |
| template<class PH , class Xform , class ... Enhancers> | |
| auto | makeDefaultSdkWithCryptoRandom (RandomData random, JobInterface &jobHandler, EventInterface &eventEmitter, PH &&ph, Xform &&xform, Enhancers &&...enhancers) -> Sdk< PH, Xform, Enhancers... > |
| Create an sdk with a default-constructed model, and a Crypto constructed with user-provided random data. | |
| auto | withRandomGenerator (RandomInterface &random) |
| An enhancer to use a custom random generator. | |
| detail::ReturnEffectStatusT | failWithResponse (const BaseJob::Response &r) |
| A effect that returns a failed EffectStatus upon invocation. | |
| detail::ReturnEffectStatusT | failEffect (std::string errorCode, std::string errorMsg) |
| An effect that returns a failed EffectStatus with the given error code and message. | |
| std::string | encodeBase64 (std::string original, int flags=Base64Opts::none) |
| Encodes the original string to base64. | |
| std::string | decodeBase64 (std::string encoded, int flags=Base64Opts::none) |
| Decode base64 string. | |
| void | from_json (const nlohmann::json &j, KeyOfGroupSession &k) |
| void | to_json (nlohmann::json &j, const KeyOfGroupSession &k) |
| ByteArray | genRandom (int len) |
| RandomData | genRandomData (int len) |
| template<class Sess , class K > | |
| immer::map< K, immer::box< Sess > > | sessionStdMapToImmer (std::unordered_map< K, Sess > &&stdMap) |
| void | to_json (nlohmann::json &j, const KeyOfDecryptedEvent &k) |
| void | from_json (const nlohmann::json &j, KeyOfDecryptedEvent &k) |
| void | to_json (nlohmann::json &j, const InboundGroupSession &s) |
| void | from_json (const nlohmann::json &j, InboundGroupSession &s) |
| template<class T > | |
| std::string | toHex (T &&v) |
| std::pair< ByteArray, ByteArray > | deriveKeyExportKey (std::string password, ByteArray salt, std::size_t iterations) |
| Derive the key-export key from the user-inputted password. | |
| Maybe< nlohmann::json > | decryptKeyExport (std::string exportContent, std::string password) |
| Decrypt the key-export file with the user-inputted password. | |
| void | to_json (nlohmann::json &j, const OutboundGroupSession &s) |
| void | from_json (const nlohmann::json &j, OutboundGroupSession &s) |
| void | to_json (nlohmann::json &j, const Session &s) |
| void | from_json (const nlohmann::json &j, Session &s) |
| Timestamp | currentTimeMs () |
| template<class Func > | |
| void | withProcess (VerificationTracker &t, std::string userId, std::string deviceId, Func &&func) |
| template<class Exec > | |
| AsioPromiseHandler (Exec) -> AsioPromiseHandler< Exec > | |
| EffectStatus | createDefaultForPromiseThen (EffectStatus) |
| EffectStatus | dataCombine (EffectStatus a, EffectStatus b) |
| EffectStatus | dataCombineNone (EffectStatus) |
| template<class Action , class Tag = lager::automatic_tag, class Model , class Reducer , class PH , class ... Enhancers> | |
| auto | makeStore (Model &&initialModel, Reducer &&reducer, PH &&ph, Enhancers &&...enhancers) |
Variables | |
| detail::IntoImmerT | intoImmer {} |
| detail::ContainerMapT | containerMap {} |
| constexpr auto | eventContent |
| const detail::OutputConfig | kzo {} |
| const std::string | headFailureCancelledErrorCode {"MOE_KAZV_MXC_HEAD_FAILURE_CANCELLED"} |
| const std::string | headFailureCancelledErrorMsg {"This job is cancelled because one before it failed."} |
| const int | headFailureCancelledStatusCode {490} |
| template<class T > | |
| constexpr auto | isPromise = std::is_base_of_v<TypelessPromise, T> |
| constexpr detail::DefaultValT | DEFVAL |
| const std::string | DEFTXNID {"0"} |
| const double | ROOM_TAG_DEFAULT_ORDER = 2 |
| constexpr auto | simpleFail = detail::SimpleFailT{} |
| A effect that returns a failed EffectStatus upon invocation. | |
| const immer::map< std::string, std::string > | codeToMessage |
| template<class Reducer , class RetType , class Model , class Action , class Deps > | |
| constexpr bool | hasEffect |
| using Kazv::Body = typedef std::variant<EmptyBody, JsonBody, BytesBody, FileBody> |
| using Kazv::BoolPromise = typedef SingleTypePromise<bool> |
| using Kazv::BoolPromiseInterface = typedef SingleTypePromiseInterface<bool> |
| using Kazv::ByteArray = typedef std::vector<unsigned char> |
| using Kazv::Bytes = typedef std::string |
| using Kazv::BytesBody = typedef Bytes |
| using Kazv::ClientEffect = typedef Effect<ClientAction, lager::deps<> > |
| using Kazv::ClientResult = typedef std::pair<ClientModel, ClientEffect> |
| using Kazv::Context = typedef ContextBase<DefaultRetType, A, D> |
| using Kazv::DefaultRetType = typedef EffectStatus |
| using Kazv::Effect = typedef EffectBase<DefaultRetType, A, D> |
| using Kazv::EventList = typedef immer::flex_vector<Event> |
| using Kazv::FileBody = typedef FileDesc |
| using Kazv::FileContent = typedef immer::flex_vector<char> |
| using Kazv::Header = typedef immer::box<std::map<std::string, std::string> > |
| using Kazv::json = typedef nlohmann::json |
| using Kazv::JsonBody = typedef JsonWrap |
| using Kazv::KazvEvent = typedef KazvTrigger |
| using Kazv::KazvEventList = typedef KazvTriggerList |
| using Kazv::KazvTrigger = typedef std::variant< std::monostate, ReceivingPresenceEvent, ReceivingAccountDataEvent, ReceivingRoomTimelineEvent, ReceivingRoomStateEvent, RoomMembershipChanged, ReceivingRoomAccountDataEvent, ReceivingToDeviceMessage, LoginSuccessful, LoginFailed, SaveEventsRequested, VerificationTrackerModelChanged, UnrecognizedResponse > |
| using Kazv::KazvTriggerList = typedef immer::flex_vector<KazvTrigger> |
| using Kazv::MaybeString = typedef Maybe<std::string> |
| using Kazv::PowerLevel = typedef std::int_fast64_t |
| using Kazv::PromiseThenResult = typedef typename detail::PromiseThenResultT<T, P>::type |
| using Kazv::RandomData = typedef std::string |
| using Kazv::RoomAction = typedef RoomModel::Action |
| using Kazv::RoomListAction = typedef RoomListModel::Action |
| using Kazv::SdkAction = typedef std::variant< ClientAction > |
| using Kazv::SdkEffect = typedef Effect<SdkAction, lager::deps<JobInterface &, EventInterface &> > |
| using Kazv::SdkModelCursorKey = typedef lager::dep::key<SdkModelCursorTag, lager::dep::fn<std::shared_ptr<lager::reader<SdkModel> >> > |
| using Kazv::SdkResult = typedef std::pair<SdkModel, SdkEffect> |
| using Kazv::SessionList = typedef std::vector<Session> |
| using Kazv::Store = typedef StoreBase<Action, DefaultRetType, Model, Reducer, Deps, Tag> |
| using Kazv::Timestamp = typedef std::int_fast64_t |
| using Kazv::Variant = typedef std::variant<std::string, JsonWrap, Null> |
|
strong |
Strategy used for castArray().
| Enumerator | |
|---|---|
| IgnoreInvalid | If any item is invalid, ignore them and add all valid entries into the output. |
| FailAll | If any item is invalid, fail the entire cast. |
|
strong |
Strategy used for castObject().
| Enumerator | |
|---|---|
| IgnoreInvalid | If any item is invalid, ignore them and add all valid entries into the output. |
| FailAll | If any item is invalid, fail the entire cast. |
|
strong |
|
strong |
| enum Kazv::JobQueuePolicy |
| enum Kazv::RoomMembership |
| enum Kazv::RoomVisibility |
| enum Kazv::Status : bool |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
constexpr |
|
inline |
|
constexpr |
| Kazv::AsioPromiseHandler | ( | Exec | ) | -> AsioPromiseHandler< Exec > |
| Kazv::AsioStdFileHandler | ( | Exec | ) | -> AsioStdFileHandler< Exec > |
| bool Kazv::cast | ( | Jsonish & | ret, |
| const Jsonish & | input, | ||
| Key && | k, | ||
| Validator && | f | ||
| ) |
Run validator against input[k] and add it to ret.
A validator is a function taking a Jsonish value and return a pair of boolean (the status) and a Jsonish value (the output).
If the status is true, the output will be added to ret[k]. If the status is false, the output will be ignored.
Example:
| input | The original json taken from user input. |
| k | The key (usually a property name of a json object) to process on. |
| f | The validator. |
| ret | The read-write reference of the returning json. |
| bool Kazv::castArray | ( | Jsonish & | ret, |
| const Jsonish & | input, | ||
| Key && | k, | ||
| Validator && | f, | ||
| CastArrayStrategy | strategy | ||
| ) |
Cast an array of items.
Run the validator on each item of input[k] and accumulate the result into ret.
Example:
| input | The original json taken from user input. |
| k | The key (usually a property name of a json object) to process on. |
| f | The validator. |
| ret | The read-write reference of the returning json. |
| strategy | The strategy to use when handling invalid items. CastArrayStrategy::IgnoreInvalid makes the cast always successful (providing input[k] is an array), and all valid items will be added to ret. CastArrayStrategy::FailAll makes the cast successful only when all input items can be casted. |
input[k] is not an array, it be unsuccessful. | bool Kazv::castObject | ( | Jsonish & | ret, |
| const Jsonish & | input, | ||
| Key && | k, | ||
| Validator && | f, | ||
| CastObjectStrategy | strategy | ||
| ) |
Cast an object of items.
Run the validator on each key-value pair (as a json array) of input[k] and accumulate the result into ret.
Example:
| input | The original json taken from user input. |
| k | The key (usually a property name of a json object) to process on. |
| f | The validator. |
| ret | The read-write reference of the returning json. |
| strategy | The strategy to use when handling invalid items. CastObjectStrategy::IgnoreInvalid makes the cast always successful (providing input[k] is an object), and all valid items will be added to ret. CastObjectStrategy::FailAll makes the cast successful only when all input items can be casted. |
input[k] is not an object, it be unsuccessful. | BaseJob Kazv::clientPerform | ( | ClientModel | m, |
| GetRoomStatesAction | a | ||
| ) |
| std::optional< BaseJob > Kazv::clientPerform | ( | ClientModel | m, |
| QueryKeysAction | a | ||
| ) |
|
inline |
|
inline |
|
inline |
|
inline |
| std::string Kazv::decodeBase64 | ( | std::string | encoded, |
| int | flags = Base64Opts::none |
||
| ) |
Decode base64 string.
| encoded | The base64-encoded string. |
| flags | Options for the decoder. See Base64Opts. |
| Event Kazv::decryptEvent | ( | ClientModel & | m, |
| Event | e | ||
| ) |
| Maybe< nlohmann::json > Kazv::decryptKeyExport | ( | std::string | exportContent, |
| std::string | password | ||
| ) |
Decrypt the key-export file with the user-inputted password.
| exportContent | The file content. |
| password | The password inputted by the user. |
| std::pair< ByteArray, ByteArray > Kazv::deriveKeyExportKey | ( | std::string | password, |
| ByteArray | salt, | ||
| std::size_t | iterations | ||
| ) |
Derive the key-export key from the user-inputted password.
| password | The user-inputted password. |
| salt | The salt from the key export file, or randomly generated when exporting. |
| iterations | The number of iterations from the key export file, or manually specified when exporting. |
| std::string Kazv::encodeBase64 | ( | std::string | original, |
| int | flags = Base64Opts::none |
||
| ) |
Encodes the original string to base64.
| original | The original string to encode. |
| flags | Options for the encoder. See Base64Opts. |
| detail::ReturnEffectStatusT Kazv::failEffect | ( | std::string | errorCode, |
| std::string | errorMsg | ||
| ) |
An effect that returns a failed EffectStatus with the given error code and message.
| detail::ReturnEffectStatusT Kazv::failWithResponse | ( | const BaseJob::Response & | r | ) |
A effect that returns a failed EffectStatus upon invocation.
| void Kazv::from_json | ( | const nlohmann::json & | j, |
| InboundGroupSession & | s | ||
| ) |
|
inline |
|
inline |
| void Kazv::from_json | ( | const nlohmann::json & | j, |
| OutboundGroupSession & | s | ||
| ) |
| void Kazv::from_json | ( | const nlohmann::json & | j, |
| Session & | s | ||
| ) |
|
inline |
|
inline |
| EventInterface & Kazv::getEventEmitter | ( | Context && | ctx | ) |
| auto Kazv::getIn | ( | ImmerT && | container, |
| K && | key, | ||
| Keys &&... | keys | ||
| ) |
| auto Kazv::getIn | ( | T && | item | ) |
| std::optional< std::decay_t< Jsonish > > Kazv::getInJson | ( | Jsonish && | j, |
| RangeT && | path, | ||
| std::size_t | index = 0 |
||
| ) |
| JobInterface & Kazv::getJobHandler | ( | Context && | ctx | ) |
| BaseJob Kazv::getRoomIdByAliasJob | ( | ClientModel | m, |
| std::string | roomAlias | ||
| ) |
| std::string Kazv::getTxnId | ( | Event | , |
| ClientModel & | m | ||
| ) |
| bool Kazv::hasAtThat | ( | Jsonish && | j, |
| Key && | k, | ||
| Func && | f | ||
| ) |
| auto Kazv::identValidate | ( | Func && | f | ) |
Make an identity validator.
The returned validator runs a predicate f against a value val. If the return value is true, return a pair of true and val. Otherwise, return a pair of false and val.
| f | The predicate that judges the validity of a value. |
| std::string Kazv::increaseTxnId | ( | std::string | cur | ) |
|
inline |
|
inline |
|
constexpr |
| Kazv::KAZV_DEFINE_COPYABLE_UNIQUE_PTR | ( | PowerLevelsDesc | , |
| m_d | |||
| ) |
| Kazv::KAZV_DEFINE_COPYABLE_UNIQUE_PTR | ( | PushRulesDesc | , |
| m_d | |||
| ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Create an sdk with a default-constructed model, and a Crypto constructed with user-provided random data.
| random | The random data to construct Crypto. Must be of at least size makeDefaultSdkWithCryptoRandomSize(). |
| jobHandler | The job handler for the sdk. |
| eventEmitter | The event emitter for the sdk. |
| ph | The Promise handler for the sdk. |
| xform | A function to extract the SdkModel from the model type of the created Store. This is to take into account any enhancer that changes the model type. If you do not use any enhancer that changes the model type, put an identity function (e.g. zug::identity) here. |
| enhancers | The enhancers to pass to makeStore(). |
|
inline |
| std::decay_t< Jsonish > Kazv::makeDefaultValue | ( | Jsonish && | input, |
| Key && | k, | ||
| Jsonish2 && | defaultValue | ||
| ) |
Replace a non-existent value with a default one.
If input contains k, return input as-is. Otherwise return input but with [k] replaced with defaultValue.
| input | The input value. |
| k | The key to process on. |
| defaultValue | The default value to replace with. |
input if input contains k, otherwise, input where [k] is replaced with defaultValue. | PendingRoomKeyEvent Kazv::makePendingRoomKeyEventV0 | ( | std::string | txnId, |
| Event | event, | ||
| immer::map< std::string, immer::flex_vector< std::string > > | devices | ||
| ) |
|
inline |
Create an sdk with the provided model.
| sdk | The initial SdkModel. |
| jobHandler | The job handler for the sdk. |
| eventEmitter | The event emitter for the sdk. |
| ph | The Promise handler for the sdk. |
| xform | A function to extract the SdkModel from the model type of the created Store. This is to take into account any enhancer that changes the model type. If you do not use any enhancer that changes the model type, put an identity function (e.g. zug::identity) here. |
| enhancers | The enhancers to pass to makeStore(). |
| auto Kazv::makeStore | ( | Model && | initialModel, |
| Reducer && | reducer, | ||
| PH && | ph, | ||
| Enhancers &&... | enhancers | ||
| ) |
| bool Kazv::matchGlob | ( | std::string | target, |
| std::string | pattern | ||
| ) |
| auto Kazv::memberEventsByMembership | ( | immer::map< KeyOfState, Event > | stateEvents, |
| const std::string & | membership | ||
| ) |
| immer::map< K, V > Kazv::merge | ( | immer::map< K, V > | map, |
| List | list, | ||
| Func | keyOf | ||
| ) |
| std::pair< std::string, std::string > Kazv::mxcUriToMediaDesc | ( | std::string | mxcUri | ) |
| EffectStatus Kazv::parseGetRoomIdByAliasResponse | ( | GetRoomIdByAliasResponse | r | ) |
| std::string Kazv::percentEncode | ( | std::string | url | ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| BanResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| ClaimKeysResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| CreateRoomResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| DefineFilterResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| ForgetRoomResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| GetContentResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| GetContentThumbnailResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| GetRoomEventsResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| GetRoomStateResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| GetRoomStateWithKeyResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| GetUserProfileResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| GetVersionsResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| GetWellknownResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| InviteUserResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| JoinRoomByIdResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| JoinRoomResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| KickResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| LeaveRoomResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| LoginResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| LogoutResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| PostReceiptResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| QueryKeysResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| RedactEventResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| SendMessageResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| SendToDeviceResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| SetAccountDataPerRoomResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| SetAccountDataResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| SetAvatarUrlResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| SetDisplayNameResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| SetReadMarkerResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| SetRoomStateWithKeyResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| SetTypingResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| SyncResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| UnbanResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| UploadContentResponse | r | ||
| ) |
| ClientResult Kazv::processResponse | ( | ClientModel | m, |
| UploadKeysResponse | r | ||
| ) |
| void Kazv::serialize | ( | Archive & | ar, |
| ClientModel & | m, | ||
| std::uint32_t const | version | ||
| ) |
| void Kazv::serialize | ( | Archive & | ar, |
| DeviceKeyInfo & | i, | ||
| std::uint32_t const | version | ||
| ) |
| void Kazv::serialize | ( | Archive & | ar, |
| DeviceListTracker & | t, | ||
| std::uint32_t const | |||
| ) |
| void Kazv::serialize | ( | Archive & | ar, |
| KeyOfState & | m, | ||
| std::uint32_t const | |||
| ) |
| void Kazv::serialize | ( | Archive & | ar, |
| LocalDraft & | draft, | ||
| std::uint32_t const | |||
| ) |
| void Kazv::serialize | ( | Archive & | ar, |
| PendingRoomKeyEvent & | e, | ||
| std::uint32_t const | version | ||
| ) |
| void Kazv::serialize | ( | Archive & | ar, |
| ReadReceipt & | r, | ||
| std::uint32_t const | |||
| ) |
| void Kazv::serialize | ( | Archive & | ar, |
| RoomListModel & | l, | ||
| std::uint32_t const | |||
| ) |
| void Kazv::serialize | ( | Archive & | ar, |
| RoomModel & | r, | ||
| std::uint32_t const | version | ||
| ) |
| void Kazv::serialize | ( | Archive & | ar, |
| SdkModel & | s, | ||
| std::uint32_t const | |||
| ) |
| immer::map< K, immer::box< Sess > > Kazv::sessionStdMapToImmer | ( | std::unordered_map< K, Sess > && | stdMap | ) |
| auto Kazv::setIn | ( | ImmerT | container, |
| std::decay_t< decltype(getIn(std::declval< ImmerT >(), std::declval< K >()))> | newVal, | ||
| K && | key | ||
| ) | -> std::decay_t<ImmerT> |
| auto Kazv::setIn | ( | ImmerT | container, |
| std::decay_t< decltype(getIn(std::declval< ImmerT >(), std::declval< K >(), std::declval< Keys >()...))> | newVal, | ||
| K && | key, | ||
| Keys &&... | keys | ||
| ) | -> std::decay_t<ImmerT> |
| auto Kazv::setIn | ( | T | , |
| T | newVal | ||
| ) |
| ImmerT1 Kazv::sortedUniqueMerge | ( | ImmerT1 | base, |
| RangeT2 | addon, | ||
| Pred | exists, | ||
| Func | keyOf | ||
| ) |
Merge addon into the sorted container base.
This function will look into every item x in addon. If exists(x), nothing is done. Otherwise, it does a binary search in base. If there is an item k where keyOf(k) == keyOf(x), nothing is done. Otherwise, x is inserted into base, keeping the sort order.
This function invokes at most O(|addon|*log(|base|)) comparisons; each comparison invokes exactly 2 keyOfs.
This function invokes at most |addon| insertions of base.
This function invokes exists exactly |addon| times.
| base | An immer sequence container of some type T. base must be sorted in strict ascending order in terms of keyOf. I.e., For any two items x, y: keyOf(x) < keyOf(y) iff x is before y. |
| addon | A range of the same type T. |
| exists | A function taking T and producing a boolean value. |
| keyOf | A key function for the sorting of base. It must be a strong order. |
Get the sort key for a timeline event.
If the key is larger, the event should be placed at the more recent end of the timeline.
| e | The event to get the sort key for. |
auto to store the result. | std::vector< std::string > Kazv::splitPath | ( | std::string | path | ) |
| void Kazv::to_json | ( | nlohmann::json & | j, |
| const InboundGroupSession & | s | ||
| ) |
|
inline |
|
inline |
| void Kazv::to_json | ( | nlohmann::json & | j, |
| const OutboundGroupSession & | s | ||
| ) |
| void Kazv::to_json | ( | nlohmann::json & | j, |
| const Session & | s | ||
| ) |
| std::string Kazv::toHex | ( | T && | v | ) |
| ClientModel Kazv::tryDecryptEvents | ( | ClientModel | m | ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| BanAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| ClaimKeysAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| CreateRoomAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| DownloadContentAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| DownloadThumbnailAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| EncryptMegOlmEventAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| EnsureKeysFromDevicesAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| ForgetRoomAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| GenerateAndUploadOneTimeKeysAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| GetRoomStatesAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| GetStateEventAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| GetUserProfileAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| GetVersionsAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| GetWellknownAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| HardLogoutAction | |||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| ImportFromKeyBackupFileAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| InviteToRoomAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| JoinRoomAction | a | ||
| ) |
HACK: wait for real boost::url
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| JoinRoomByIdAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| KickAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| LeaveRoomAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| LoadEventsFromStorageAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| LoginAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| LogoutAction | |||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| MLoginTokenLoginAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| NotifyVerificationTrackerModelAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| PaginateTimelineAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| PostInitialFiltersAction | |||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| PostReceiptAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| PrepareForSharingRoomKeyAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| PurgeRoomTimelineAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| QueryKeysAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| RedactEventAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| RequestShareRoomSessionKeyAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SaveLocalEchoAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SendMessageAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SendMultipleToDeviceMessagesAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SendStateEventAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SendToDeviceMessageAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SetAccountDataAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SetAccountDataPerRoomAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SetAvatarUrlAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SetDevicesTrustLevelsAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SetDeviceTrustLevelAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SetDisplayNameAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SetReadMarkerAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SetShouldSyncAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SetTrustLevelNeededToSendKeysAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SetTypingAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| SyncAction | |||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| TokenLoginAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| UnbanAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| UpdateLocalEchoStatusAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| UploadContentAction | a | ||
| ) |
| ClientResult Kazv::updateClient | ( | ClientModel | m, |
| UploadIdentityKeysAction | |||
| ) |
| auto Kazv::updateIn | ( | ImmerT | container, |
| Func | func, | ||
| Keys &&... | keys | ||
| ) | -> ImmerT |
| auto Kazv::updateIn | ( | T | oldVal, |
| Func | func | ||
| ) | -> T |
| auto Kazv::withBox | ( | ImmerT & | box, |
| Func && | func | ||
| ) | -> std::decay_t<std::invoke_result_t<Func &&, ValueT &>> |
Do something with the box, updating its value, then return the return value of the function.
| box | The immer::box<T>. |
| func | A function taking T& as an argument. It is expected to modify its argument in-place. |
| auto Kazv::withMapBox | ( | ImmerT & | map, |
| Key && | k, | ||
| Func && | func | ||
| ) | -> std::decay_t<std::invoke_result_t<Func &&, ValueT &>> |
| void Kazv::withProcess | ( | VerificationTracker & | t, |
| std::string | userId, | ||
| std::string | deviceId, | ||
| Func && | func | ||
| ) |
|
inline |
An enhancer to use a custom random generator.
This is to be used with makeSdk()-series functions.
| random | The random generator to use. |
|
inline |
|
inline |
|
inline |
|
constexpr |
|
inlineconstexpr |
|
constexpr |
|
inline |
|
inline |
|
inline |
|
inline |
|
constexpr |
| const detail::OutputConfig Kazv::kzo {} |
|
inline |
|
constexpr |
A effect that returns a failed EffectStatus upon invocation.