-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrush.h
95 lines (78 loc) · 1.44 KB
/
rush.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*
** EPITECH PROJECT, 2024
** rush2
** File description:
** rush
*/
#ifndef RUSH2_H_
#define RUSH2_H_
#include "container.h"
#include "iterator.h"
#include "point.h"
typedef Object object_t;
typedef Iterator iterator_t;
typedef Class class_t;
typedef Container container_t;
typedef struct {
Class base;
char *identifier;
int power;
} PlayerClass;
typedef struct {
class_t base;
int x, y;
} point_class_t;
typedef struct {
class_t base;
int x, y, z;
} vertex_class_t;
typedef struct {
class_t base;
int v;
} int_class_t;
typedef struct {
class_t base;
float v;
} float_class_t;
typedef struct {
class_t base;
char v;
} char_class_t;
typedef struct {
container_t base;
class_t *_type;
size_t _size;
object_t **_tab;
} array_class_t;
typedef struct {
iterator_t base;
array_class_t *_array;
size_t _idx;
} array_iter_class_t;
typedef struct {
container_t base;
class_t *_type;
size_t _size;
object_t **_tab;
} string_class_t;
typedef struct {
iterator_t base;
string_class_t *_array;
size_t _idx;
} string_iter_class_t;
typedef struct node_s {
object_t *_val;
struct node_s *next;
} node_t;
typedef struct {
container_t base;
class_t *_type;
size_t _size;
node_t *_list;
} list_class_t;
typedef struct {
iterator_t base;
list_class_t *_list;
size_t _idx;
} list_iter_class_t;
#endif /* !RUSH2_H_ */