GameApi 28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
Database.hh
Go to the documentation of this file.
1
3{
4public:
5
6};
7
8enum Type
9 {
12 };
13
15{
16public:
17 virtual int Type() const=0;
18 virtual int CountX() const=0;
19 virtual int CountY() const=0;
20 virtual DataBaseElement *GetElem(int x, int y) const=0;
21 virtual char *Buffer() const=0;
22 virtual int BufferSize() const=0;
23};
24
25template<class T>
27{
28public:
29 virtual int Type() const { return DTDataType; }
30 virtual int CountX() const { return 0; }
31 virtual int CountY() const { return 0; }
32 virtual DataBaseElement *GetElem(int x, int y) const { return 0; }
33 virtual char *Buffer() const { return (char*) &t; }
34 virtual int BufferSize() const { return sizeof(t); }
35public:
36 void SetT(T tt) { t=tt; }
37private:
38 T t;
39};
40
41template<class T>
43{
44public:
45 DataType<T> &CreateDataType(char *buffer, int size)
46private:
47 DataType<T> dt;
48};
49
51{
52 int x; int y;
53};
54
55struct RefI
56{
57 std::vector<PathElem> vec;
58};
59
60class Ref : public DataBaseElement
61{
62public:
63 Ref(RefI &e) : e(e) { }
64 virtual int Type() const { return DTRef; }
65 int CountX() const { return e.size(); }
66 int CountY() const { return 1; }
67 DataBaseElement *GetElem(int x, int y) const
68 {
69 if (y!=0) return 0;
70 dt.SetT(e.vec[x]);
71 return &dt;
72 }
73private:
75 RefI &e;
76};
Env e
Definition Common.cc:2
Type
Definition Database.hh:9
@ DTDataType
Definition Database.hh:10
@ DTRef
Definition Database.hh:11
Definition Database.hh:15
virtual int BufferSize() const =0
virtual int CountX() const =0
virtual DataBaseElement * GetElem(int x, int y) const =0
virtual int CountY() const =0
virtual char * Buffer() const =0
virtual int Type() const =0
Definition Database.hh:3
Definition Database.hh:43
Definition Database.hh:27
virtual int Type() const
Definition Database.hh:29
void SetT(T tt)
Definition Database.hh:36
virtual int CountY() const
Definition Database.hh:31
virtual DataBaseElement * GetElem(int x, int y) const
Definition Database.hh:32
virtual int BufferSize() const
Definition Database.hh:34
virtual char * Buffer() const
Definition Database.hh:33
virtual int CountX() const
Definition Database.hh:30
Ref(RefI &e)
Definition Database.hh:63
int CountX() const
Definition Database.hh:65
int CountY() const
Definition Database.hh:66
DataBaseElement * GetElem(int x, int y) const
Definition Database.hh:67
virtual int Type() const
Definition Database.hh:64
n< br > font size
Definition meshpage.php:3536
Definition Database.hh:51
int y
Definition Database.hh:52
int x
Definition Database.hh:52
Definition Database.hh:56
std::vector< PathElem > vec
Definition Database.hh:57
Definition GameApi.h:42