edits
[iotcloud.git] / version2 / src / C / common.h
1 #ifndef COMMON_H
2 #define COMMON_H
3 #include <inttypes.h>
4 typedef uint32_t uint;
5 #define CMEMALLOC ;
6 #define model_print printf
7
8 #include "hashset.h"
9 #include "vector.h"
10 #include "array.h"
11
12
13 class TimingSingleton;
14 class Abort;
15 class Entry;
16 class Slot;
17 class ByteBuffer;
18 class Liveness;
19 class Commit;
20 class CommitPart;
21 class ArbitrationRound;
22 class KeyValue;
23 class RejectedMessage;
24 class PendingTransaction;
25 class CloudComm;
26 class IoTString;
27 class LastMessage;
28 class LocalComm;
29 class NewKey;
30 class SlotBuffer;
31 class SlotIndexer;
32 class Table;
33 class TableStatus;
34 class ThreeTuple;
35 class TimingSingleton;
36 class Transaction;
37 class TransactionPart;
38 class TransactionStatus;
39
40 #define ASSERT(expr) \
41         do {                                                                                             \
42                 if (!(expr)) {                                                                                                                                                                                                                  \
43                         fprintf(stderr, "Error: assertion failed in %s at line %d\n", __FILE__, __LINE__); \
44                         /* print_trace(); // Trace printing may cause dynamic memory allocation */ \
45                         exit(EXIT_FAILURE);                                                                                                                                                                                             \
46                 }                                                                                                                                                                                                                                                                               \
47         } while (0)
48
49 #endif