MVault 1.0.0
Simple c++ database
Loading...
Searching...
No Matches
VaultParamInput.h
1#pragma once
2
3#include <string>
4#include <typeindex>
5#include <functional>
6
7#include "VaultClasses.h"
8#include "VaultRecordRef.h"
9
10namespace mvlt
11{
18 {
19 private:
20 // Pointer to data type saver
21 std::type_index DataType;
22
23 // Function for setting data to VaultRecordRef
24 std::function<VaultOperationResult(const std::string& data, VaultRecordRef& ref)> SetDataToRefFunc;
25
26 // Function for settind data to VaultRecord
27 std::function<void(const std::string& data, VaultRecord* record)> SetDataToRecordFunc;
28
37 VaultOperationResult SetDataToRef(const std::string& key, VaultRecordRef& refToSetData) const noexcept;
38
44 void SetDataToRecord(const std::string& key, VaultRecord* recordToSetData) const noexcept;
45
46 public:
48 friend Vault;
49
52
60 template <class T>
61 // codechecker_intentional [all] its not explicit to simplify code
62 VaultParamInput(const T& data) noexcept;
63
69 std::type_index GetDataType() const noexcept;
70 };
71}
Iterator class for all library maps.
Definition Map.h:18
A class for transferring data to the Vault.
Definition VaultParamInput.h:18
std::type_index GetDataType() const noexcept
A method for getting the type of saved data.
Definition VaultParamInput.cpp:19
friend Vault
Making the Vault class friendly so that it has access to the internal members of the VaultParamInput ...
Definition VaultParamInput.h:48
friend VaultRecordRef
Making the VaultRecordRef class friendly so that it has access to the internal members of the VaultPa...
Definition VaultParamInput.h:51
A class for storing data inside Vault.
Definition VaultRecord.h:18
A class that provides access to data inside Vault.
Definition VaultRecordRef.h:21
Structure for storing the results of MVault operations.
Definition VaultOperationResult.h:44