blob: 45aaba92ac1a65f5ac937cf3ae4d1fca7af6c22a (
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
|
#ifndef ALGDS_BAISC_TRAITS_H_
#define ALGDS_BAISC_TRAITS_H_
#include <stdio.h>
#include "type_alias.h"
// basic traits
#define BASIC_TRAITS_DEF(T) \
Bool T##_eq(T lhs, T rhs); \
Int T##_cmp(T lhs, T rhs); \
uint64_t T##_hash(T x); \
void T##_show(T x, FILE* fp); \
BASIC_TRAITS_DEF(Int);
BASIC_TRAITS_DEF(Bool);
BASIC_TRAITS_DEF(Long);
BASIC_TRAITS_DEF(Char);
BASIC_TRAITS_DEF(UInt);
BASIC_TRAITS_DEF(ULong);
BASIC_TRAITS_DEF(Double);
BASIC_TRAITS_DEF(Float);
BASIC_TRAITS_DEF(VoidPtr);
BASIC_TRAITS_DEF(String);
#endif
|