3#include "VaultRequest.h"
9 template <VaultRequestType Type>
16 static_assert(!std::is_array<T>::value,
"It is not possible to use a c array as a key value. \n\
17 If you want to use a string as a key, you must specialize the function with a string. Like this: \n\
18 Less<std::string>(\"Key\", \"Value\") or Greater(\"Key\", std::string(\"Value\")). \n\
19 This works with the following classes: Less, LessOrEqual, Equal, GreaterOrEqual, Greater.");
21 DataPtr =
static_cast<void*
>(
new T(
keyValue));
44 template <VaultRequestType Type>
45 template <VaultRequestType RequestType1, VaultRequestType RequestType2>
53 case VaultRequestType::Or:
71 case VaultRequestType::And:
77 (
request1.RequestType == VaultRequestType::Greater ||
request1.RequestType == VaultRequestType::GreaterOrEqual) &&
78 (
request2.RequestType == VaultRequestType::Less ||
request1.RequestType == VaultRequestType::LessOrEqual))
81 (
request1.RequestType == VaultRequestType::GreaterOrEqual),
112 template <VaultRequestType Type>
119 case VaultRequestType::Less:
120 case VaultRequestType::LessOrEqual:
121 case VaultRequestType::Equal:
122 case VaultRequestType::GreaterOrEqual:
123 case VaultRequestType::Greater:
124 DataRequestFunc(Key,
vlt,
vaultRecords, DataPtr,
nullptr,
false,
false, RequestPredicat);
126 case VaultRequestType::Or:
127 case VaultRequestType::And:
133 template <VaultRequestType Type>
138 if (DeleteFunc !=
nullptr && DataPtr !=
nullptr)
142 template <VaultRequestType LType, VaultRequestType RType>
150 template <VaultRequestType LType, VaultRequestType RType>
151 VaultRequest<VaultRequestType::Or> operator|| (
const VaultRequest<LType>& lhs,
const VaultRequest<RType>& rhs)
noexcept
155 return VaultRequest<VaultRequestType::Or>(lhs, rhs);
Iterator class for all library maps.
Definition Map.h:18
A class for storing data with the ability to quickly search for a variety of different keys of any ty...
Definition Vault.h:35
A class for storing data inside Vault.
Definition VaultRecord.h:18
A class that provides access to data inside Vault.
Definition VaultRecordRef.h:21
friend class VaultRequest
Making the all VaultRequest templates friendly.
Definition VaultRequest.h:42
~VaultRequest() noexcept
Default destructor.
Definition VaultRequest.hpp:134
void Request(Vault *vlt, std::unordered_set< VaultRecord * > &vaultRecords) const
Function for requesting data from Vault.
Definition VaultRequest.hpp:113
Structure for storing the results of MVault operations.
Definition VaultOperationResult.h:44