Claude Chappe' Curse - A C Game
Logo Institut d'Informatique Claude Chappe Logo Université de Le Mans Logo Raeptor Production
 
Loading...
Searching...
No Matches
classes.h
Go to the documentation of this file.
1#ifndef CLASSES_H
2#define CLASSES_H
4#include <classes/import_classes.h>
5#include <raptiquax.h>
6
7extern const struct ClassManager classManager;
8
28typedef struct Object {
29 void *object;
31} Object;
32
49void call_method_0(void (*func)(void *, va_list), ...);
50
63#define SUPER(method_name, ...) call_method_0(classManager.methodsCorrespondance.method_name[classManager.extends[__type__]], this, ##__VA_ARGS__)
64
79#define METHOD_TYPE(default_type, method_name, obj, ...) classManager.methodsCorrespondance.method_name[default_type], obj, ##__VA_ARGS__
80
94#define METHOD(method_name, obj, ...) classManager.methodsCorrespondance.method_name[obj->type], obj, ##__VA_ARGS__
95
97#endif
#define u8
Alias for uint8_t (unsigned 8-bit integer).
Definition aliases.h:7
const struct ClassManager classManager
void call_method_0(void(*func)(void *, va_list),...)
Definition classes.c:4
This file contains type definitions for fixed-width integer types and floating-point types.
A generic object structure.
Definition classes.h:28
u8 type
Definition classes.h:30
void * object
Definition classes.h:29