aboutsummaryrefslogtreecommitdiff
path: root/src/basic_traits.h
blob: 7c708637ced93264683df1cafedcc0201447bc09 (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