EHS
DbObject.h
Go to the documentation of this file.
1#pragma once
2
3#include "ehs/Array.h"
4#include "DbVar.h"
5
6namespace ehs
7{
8 class DbTable;
9
10 class EHS_LIB_IO DbObject
11 {
12 private:
13 friend class DbTable;
14 friend class DbVar;
15
16 UInt_64 id;
17 DbTable* parent;
18 Array<DbVar> vars;
19
20 public:
21 DbObject();
22
23 DbObject(UInt_64 id);
24
25 DbObject(DbObject&& obj) noexcept;
26
27 DbObject(const DbObject& obj);
28
29 DbObject& operator=(DbObject&& obj) noexcept;
30
31 DbObject& operator=(const DbObject& obj);
32
33 UInt_64 GetId() const;
34
35 bool HasVariable(UInt_64 hashId) const;
36
37 DbVar* GetVariable(UInt_64 hashId) const;
38
39 DbVar* GetVariable(const Str_8& id) const;
40
41 void Save() const;
42
43 void Load();
44
45 bool IsLoaded() const;
46
47 void Free();
48
49 private:
50 void CreateVariable(DbVarTmpl* master);
51 };
52}
Definition: Array.h:16
Definition: DbObject.h:11
Definition: DbTable.h:14
Definition: DbVarTmpl.h:12
Definition: DbVar.h:12
Definition: Anchor.h:6