EHS
Loading...
Searching...
No Matches
BaseObj.h
Go to the documentation of this file.
1#pragma once
2
3#include "Types.h"
4#include "Type.h"
5
6namespace ehs
7{
8 class EHS_LIB_IO BaseObj
9 {
10 private:
11 Type* hierarchy;
12 UInt_64 hierarchySize;
13
14 public:
15 virtual ~BaseObj();
16
17 BaseObj();
18
19 BaseObj(BaseObj&& base) noexcept;
20
21 BaseObj(const BaseObj& base);
22
23 BaseObj& operator=(BaseObj&& base) noexcept;
24
25 BaseObj& operator=(const BaseObj& base);
26
27 bool operator==(const BaseObj& base) const;
28
29 bool operator!=(const BaseObj& base) const;
30
33 const Type* GetHierarchy() const;
34
37 UInt_64 GetHierarchySize() const;
38
42 bool HasType(UInt_64 typeHashId) const;
43
47 bool HasType(const Char_8* typeId) const;
48
51 Type GetType() const;
52
55 UInt_64 GetTypeIdSize() const;
56
59 const Char_8* GetTypeId() const;
60
63 UInt_64 GetTypeHashId() const;
64
67 virtual BaseObj* Clone() const;
68
69 protected:
72 void AddType(const Char_8* id);
73 };
74}
bool operator!=(const T *const first, const ehs::Str< T, N > &second)
Definition Str.h:1967
bool operator==(const T *const first, const ehs::Str< T, N > &second)
Definition Str.h:1957
UInt_64 GetHierarchySize() const
Definition BaseObj.cpp:91
Type GetType() const
Definition BaseObj.cpp:110
UInt_64 GetTypeIdSize() const
Definition BaseObj.cpp:115
BaseObj()
Definition BaseObj.cpp:10
const Type * GetHierarchy() const
Definition BaseObj.cpp:86
BaseObj & operator=(BaseObj &&base) noexcept
Definition BaseObj.cpp:30
const Char_8 * GetTypeId() const
Definition BaseObj.cpp:120
bool HasType(UInt_64 typeHashId) const
Definition BaseObj.cpp:96
UInt_64 GetTypeHashId() const
Definition BaseObj.cpp:125
void AddType(const Char_8 *id)
Definition BaseObj.cpp:135
virtual BaseObj * Clone() const
Definition BaseObj.cpp:130
Definition Type.h:9
Definition Anchor.h:6
char Char_8
Definition Types.h:40