summaryrefslogtreecommitdiff
path: root/navit/attr_type_def.h
blob: af0b6571f72d4ac49204e0f80e6c72f1c9291435 (plain)
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
#ifndef NAVIT_ATTR_TYPE_DEFH
#define NAVIT_ATTR_TYPE_DEFH

#ifdef __cplusplus
extern "C" {
#endif

/**
 * Attribute type values, created using macro magic.
 */
enum attr_type {
#define ATTR2(x,y) attr_##y=x,
#define ATTR(x) attr_##x,

    /* Special macro for unused attribute types. Creates a placeholder entry
     * in the enum so the following values do not change. */
#define ATTR_UNUSED ATTR_UNUSED_L(__LINE__)
#define ATTR_UNUSED_L(x) ATTR_UNUSED_WITH_LINE_NUMBER(x)
#define ATTR_UNUSED_WITH_LINE_NUMBER(x) ATTR_UNUSED_##x,

#include "attr_def.h"

#undef ATTR_UNUSED_WITH_LINE_NUMBER
#undef ATTR_UNUSED_L
#undef ATTR_UNUSED

#undef ATTR2
#undef ATTR
};

#ifdef __cplusplus
}
/* __cplusplus */
#endif

/* NAVIT_ATTR_TYPE_DEFH */
#endif