summaryrefslogtreecommitdiff
path: root/src/teams.h
blob: 3eba2f700a7c1835b10b986c946b1e0aa908a765 (plain) (blame)
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
#ifndef __TEAMS_H__
#	define __TEAMS_H__
#	define __TEAMS_PRIVATE_H__
#	include <stdint.h>
#	include <stdbool.h>
#	include "teams-hell.h"
// Type definition
typedef struct team_impl_struct * team;

// base functions
NEW(team);
DEL(team);

// field getters
SETTER(team, name,			char *);
SETTER(team, institution,	char *);
SETTER(team, member_name,	char *, int);
SETTER(team, solved,		uint8_t);

// field setters
GETTER(team, name,			char *);
GETTER(team, institution,	char *);
GETTER(team, member_name,	char *, int);
GETTER(team, solved,		uint8_t);

// helper functions
DEFINE(team, printf,  		int);
DEFINE(team, fprintf, 		int, FILE *);
DEFINE(team, find_champion, team, team *, unsigned num);

#	define __TEAMS_PRIVATE_UNDEF__
#	include "teams-hell.h"
#endif /* __TEAMS_H__ */