MVault 0.0.1
Loading...
Searching...
No Matches
VaultClasses.h
1#pragma once
2
3#include <functional>
4
5#include "DataSaver.h"
6#include "DataContainer.h"
7#include "ReadWriteMutex.h"
8
9namespace mvlt
10{
12 enum class VaultRequestType
13 {
14 Greater,
15 GreaterOrEqual,
16 Equal,
17 LessOrEqual,
18 Less,
19 Interval,
20 Or,
21 And
22 };
23
24 // MVault classes
25 class Vault;
26 class VaultRecord;
27 class VaultRecordRef;
28 class VaultRecordSet;
29 class VaultParamInput;
30
31 // MVault structs
32 struct VaultOperationResult;
33
34 // MVault requests
35 template <VaultRequestType Type>
36 class VaultRequest;
37
38 typedef VaultRequest<VaultRequestType::Less> Less;
39 typedef VaultRequest<VaultRequestType::LessOrEqual> LessOrEqual;
40 typedef VaultRequest<VaultRequestType::Equal> Equal;
41 typedef VaultRequest<VaultRequestType::GreaterOrEqual> GreaterOrEqual;
42 typedef VaultRequest<VaultRequestType::Greater> Greater;
43 typedef VaultRequest<VaultRequestType::Or> Or;
44 typedef VaultRequest<VaultRequestType::And> And;
45
51 extern std::function<bool(const VaultRecordRef&)> DefaultRequestPredicat;
52}