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
|
template <class T, class U>
inline BinaryOp<T, U, Add> MakeAdd(const T& t, const U& u){
return BinaryOp<T, U, Add>(t, u);
}
template <class T, class U>
inline BinaryOp<T, U, Sub> MakeSub(const T& t, const U& u){
return BinaryOp<T, U, Sub>(t, u);
}
template <class T, class U>
inline BinaryOp<T, U, Mult> MakeMult(const T& t, const U& u){
return BinaryOp<T, U, Mult>(t, u);
}
template <class T, class U>
inline BinaryOp<T, U, Div> MakeDiv(const T& t, const U& u){
return BinaryOp<T, U, Div>(t, u);
}
template <class T>
inline UnaryOp<T, Minus> MakeMinus(const T& t){
return UnaryOp<T, Minus>(t);
}
template <class T>
inline UnaryOp<T, Const> MakeConst(const T& t){
return UnaryOp<T, Const>(t);
}
|