aboutsummaryrefslogtreecommitdiff
path: root/src/operation/logic.h
blob: 3e447d66830ca59a6e14c494252a40d7e693ecc2 (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
#ifndef TYPEASVALUE_SRC_OPERATION_LOGIC_H_
#define TYPEASVALUE_SRC_OPERATION_LOGIC_H_

#include "type.h"

namespace tav {

template <
	typename X,
	typename Y
>
using And = Boolean<X::value && Y::value>;

template <
	typename X,
	typename Y
>
using Or = Boolean<X::value || Y::value>;

template <
	typename X,
	typename Y
>
using Xor = Boolean<X::value ^ Y::value>;

template <typename X>
using Not = Boolean<!X::value>;

}

#endif // TYPEASVALUE_SRC_OPERATION_LOGIC_H_