blob: 700a49a523d8ee7f25c9c9055a47db8bbbdd437e (
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
|
#ifndef ALGDS_BAISC_TRAITS_H_
#define ALGDS_BAISC_TRAITS_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); \
ULong T##_hash(T x);
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
|