File Index
Symbol Index
#ifndef VCZH_TUPLE
#define VCZH_TUPLE
#include "Basic.h"
namespace
{
class
{
};
template
<
typename
=
,
typename
=
,
typename
=
,
typename
=
,
typename
=
,
typename
=
,
typename
=
,
typename
=
,
typename
=
,
typename
=
,
typename
=
>
class
{
};
template
<
typename
>
class
<
> :
public
{
public
:
;
()
{
}
(
)
:f0(
)
{
}
static
int
(
const
<
>&
,
const
<
>&
)
{
if
(
.f0 <
.f0)
return
-
1
;
else
if
(
.f0 >
.f0)
return
1
;
return
0
;
}
bool
(
const
<
>&
)
const
{
return
(*
this
,
) ==
0
; }
bool
(
const
<
>&
)
const
{
return
(*
this
,
) !=
0
; }
bool
(
const
<
>&
)
const
{
return
(*
this
,
) <
0
; }
bool
(
const
<
>&
)
const
{
return
(*
this
,
) <=
0
; }
bool
(
const
<
>&
)
const
{
return
(*
this
,
) >
0
; }
bool
(
const
<
>&
)
const
{
return
(*
this
,
) >=
0
; }
};
template
<
typename
,
typename
>
class
<
,
> :
public
{
public
:
;
;
()
{
}
(
,
)
:f0(
),f1(
)
{
}
static
int
(
const
<
,
>&
,
const
<
,
>&
)
{
if
(
.f0 <
.f0)
return
-
1
;
else
if
(
.f0 >
.f0)
return
1
;
if
(
.f1 <
.f1)
return
-
1
;
else
if
(
.f1 >
.f1)
return
1
;
return
0
;
}
bool
(
const
<
,
>&
)
const
{
return
(*
this
,
) ==
0
; }
bool
(
const
<
,
>&
)
const
{
return
(*
this
,
) !=
0
; }
bool
(
const
<
,
>&
)
const
{
return
(*
this
,
) <
0
; }
bool
(
const
<
,
>&
)
const
{
return
(*
this
,
) <=
0
; }
bool
(
const
<
,
>&
)
const
{
return
(*
this
,
) >
0
; }
bool
(
const
<
,
>&
)
const
{
return
(*
this
,
) >=
0
; }
};
template
<
typename
,
typename
,
typename
>
class
<
,
,
> :
public
{
public
:
;
;
;
()
{
}
(
,
,
)
:f0(
),f1(
),f2(
)
{
}
static
int
(
const
<
,
,
>&
,
const
<
,
,
>&
)
{
if
(
.f0 <
.f0)
return
-
1
;
else
if
(
.f0 >
.f0)
return
1
;
if
(
.f1 <
.f1)
return
-
1
;
else
if
(
.f1 >
.f1)
return
1
;
if
(
.f2 <
.f2)
return
-
1
;
else
if
(
.f2 >
.f2)
return
1
;
return
0
;
}
bool
(
const
<
,
,
>&
)
const
{
return
(*
this
,
) ==
0
; }
bool
(
const
<
,
,
>&
)
const
{
return
(*
this
,
) !=
0
; }
bool
(
const
<
,
,
>&
)
const
{
return
(*
this
,
) <
0
; }
bool
(
const
<
,
,
>&
)
const
{
return
(*
this
,
) <=
0
; }
bool
(
const
<
,
,
>&
)
const
{
return
(*
this
,
) >
0
; }
bool
(
const
<
,
,
>&
)
const
{
return
(*
this
,
) >=
0
; }
};
template
<
typename
,
typename
,
typename
,
typename
>
class
<
,
,
,
> :
public
{
public
:
;
;
;
;
()
{
}
(
,
,
,
)
:f0(
),f1(
),f2(
),f3(
)
{
}
static
int
(
const
<
,
,
,
>&
,
const
<
,
,
,
>&
)
{
if
(
.f0 <
.f0)
return
-
1
;
else
if
(
.f0 >
.f0)
return
1
;
if
(
.f1 <
.f1)
return
-
1
;
else
if
(
.f1 >
.f1)
return
1
;
if
(
.f2 <
.f2)
return
-
1
;
else
if
(
.f2 >
.f2)
return
1
;
if
(
.f3 <
.f3)
return
-
1
;
else
if
(
.f3 >
.f3)
return
1
;
return
0
;
}
bool
(
const
<
,
,
,
>&
)
const
{
return
(*
this
,
) ==
0
; }
bool
(
const
<
,
,
,
>&
)
const
{
return
(*
this
,
) !=
0
; }
bool
(
const
<
,
,
,
>&
)
const
{
return
(*
this
,
) <
0
; }
bool
(
const
<
,
,
,
>&
)
const
{
return
(*
this
,
) <=
0
; }
bool
(
const
<
,
,
,
>&
)
const
{
return
(*
this
,
) >
0
; }
bool
(
const
<
,
,
,
>&
)
const
{
return
(*
this
,
) >=
0
; }
};
template
<
typename
,
typename
,
typename
,
typename
,
typename
>
class
<
,
,
,
,
> :
public
{
public
:
;
;
;
;
;
()
{
}
(
,
,
,
,
)
:f0(
),f1(
),f2(
),f3(
),f4(
)
{
}
static
int
(
const
<
,
,
,
,
>&
,
const
<
,
,
,
,
>&
)
{
if
(
.f0 <
.f0)
return
-
1
;
else
if
(
.f0 >
.f0)
return
1
;
if
(
.f1 <
.f1)
return
-
1
;
else
if
(
.f1 >
.f1)
return
1
;
if
(
.f2 <
.f2)
return
-
1
;
else
if
(
.f2 >
.f2)
return
1
;
if
(
.f3 <
.f3)
return
-
1
;
else
if
(
.f3 >
.f3)
return
1
;
if
(
.f4 <
.f4)
return
-
1
;
else
if
(
.f4 >
.f4)
return
1
;
return
0
;
}
bool
(
const
<
,
,
,
,
>&
)
const
{
return
(*
this
,
) ==
0
; }
bool
(
const
<
,
,
,
,
>&
)
const
{
return
(*
this
,
) !=
0
; }
bool
(
const
<
,
,
,
,
>&
)
const
{
return
(*
this
,
) <
0
; }
bool
(
const
<
,
,
,
,
>&
)
const
{
return
(*
this
,
) <=
0
; }
bool
(
const
<
,
,
,
,
>&
)
const
{
return
(*
this
,
) >
0
; }
bool
(
const
<
,
,
,
,
>&
)
const
{
return
(*
this
,
) >=
0
; }
};
template
<
typename
,
typename
,
typename
,
typename
,
typename
,
typename
>
class
<
,
,
,
,
,
> :
public
{
public
:
;
;
;
;
;
;
()
{
}
(
,
,
,
,
,
)
:f0(
),f1(
),f2(
),f3(
),f4(
),f5(
)
{
}
static
int
(
const
<
,
,
,
,
,
>&
,
const
<
,
,
,
,
,
>&
)
{
if
(
.f0 <
.f0)
return
-
1
;
else
if
(
.f0 >
.f0)
return
1
;
if
(
.f1 <
.f1)
return
-
1
;
else
if
(
.f1 >
.f1)
return
1
;
if
(
.f2 <
.f2)
return
-
1
;
else
if
(
.f2 >
.f2)
return
1
;
if
(
.f3 <
.f3)
return
-
1
;
else
if
(
.f3 >
.f3)
return
1
;
if
(
.f4 <
.f4)
return
-
1
;
else
if
(
.f4 >
.f4)
return
1
;
if
(
.f5 <
.f5)
return
-
1
;
else
if
(
.f5 >
.f5)
return
1
;
return
0
;
}
bool
(
const
<
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) ==
0
; }
bool
(
const
<
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) !=
0
; }
bool
(
const
<
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) <
0
; }
bool
(
const
<
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) <=
0
; }
bool
(
const
<
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) >
0
; }
bool
(
const
<
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) >=
0
; }
};
template
<
typename
,
typename
,
typename
,
typename
,
typename
,
typename
,
typename
>
class
<
,
,
,
,
,
,
> :
public
{
public
:
;
;
;
;
;
;
;
()
{
}
(
,
,
,
,
,
,
)
:f0(
),f1(
),f2(
),f3(
),f4(
),f5(
),f6(
)
{
}
static
int
(
const
<
,
,
,
,
,
,
>&
,
const
<
,
,
,
,
,
,
>&
)
{
if
(
.f0 <
.f0)
return
-
1
;
else
if
(
.f0 >
.f0)
return
1
;
if
(
.f1 <
.f1)
return
-
1
;
else
if
(
.f1 >
.f1)
return
1
;
if
(
.f2 <
.f2)
return
-
1
;
else
if
(
.f2 >
.f2)
return
1
;
if
(
.f3 <
.f3)
return
-
1
;
else
if
(
.f3 >
.f3)
return
1
;
if
(
.f4 <
.f4)
return
-
1
;
else
if
(
.f4 >
.f4)
return
1
;
if
(
.f5 <
.f5)
return
-
1
;
else
if
(
.f5 >
.f5)
return
1
;
if
(
.f6 <
.f6)
return
-
1
;
else
if
(
.f6 >
.f6)
return
1
;
return
0
;
}
bool
(
const
<
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) ==
0
; }
bool
(
const
<
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) !=
0
; }
bool
(
const
<
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) <
0
; }
bool
(
const
<
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) <=
0
; }
bool
(
const
<
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) >
0
; }
bool
(
const
<
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) >=
0
; }
};
template
<
typename
,
typename
,
typename
,
typename
,
typename
,
typename
,
typename
,
typename
>
class
<
,
,
,
,
,
,
,
> :
public
{
public
:
;
;
;
;
;
;
;
;
()
{
}
(
,
,
,
,
,
,
,
)
:f0(
),f1(
),f2(
),f3(
),f4(
),f5(
),f6(
),f7(
)
{
}
static
int
(
const
<
,
,
,
,
,
,
,
>&
,
const
<
,
,
,
,
,
,
,
>&
)
{
if
(
.f0 <
.f0)
return
-
1
;
else
if
(
.f0 >
.f0)
return
1
;
if
(
.f1 <
.f1)
return
-
1
;
else
if
(
.f1 >
.f1)
return
1
;
if
(
.f2 <
.f2)
return
-
1
;
else
if
(
.f2 >
.f2)
return
1
;
if
(
.f3 <
.f3)
return
-
1
;
else
if
(
.f3 >
.f3)
return
1
;
if
(
.f4 <
.f4)
return
-
1
;
else
if
(
.f4 >
.f4)
return
1
;
if
(
.f5 <
.f5)
return
-
1
;
else
if
(
.f5 >
.f5)
return
1
;
if
(
.f6 <
.f6)
return
-
1
;
else
if
(
.f6 >
.f6)
return
1
;
if
(
.f7 <
.f7)
return
-
1
;
else
if
(
.f7 >
.f7)
return
1
;
return
0
;
}
bool
(
const
<
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) ==
0
; }
bool
(
const
<
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) !=
0
; }
bool
(
const
<
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) <
0
; }
bool
(
const
<
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) <=
0
; }
bool
(
const
<
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) >
0
; }
bool
(
const
<
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) >=
0
; }
};
template
<
typename
,
typename
,
typename
,
typename
,
typename
,
typename
,
typename
,
typename
,
typename
>
class
<
,
,
,
,
,
,
,
,
> :
public
{
public
:
;
;
;
;
;
;
;
;
;
()
{
}
(
,
,
,
,
,
,
,
,
)
:f0(
),f1(
),f2(
),f3(
),f4(
),f5(
),f6(
),f7(
),f8(
)
{
}
static
int
(
const
<
,
,
,
,
,
,
,
,
>&
,
const
<
,
,
,
,
,
,
,
,
>&
)
{
if
(
.f0 <
.f0)
return
-
1
;
else
if
(
.f0 >
.f0)
return
1
;
if
(
.f1 <
.f1)
return
-
1
;
else
if
(
.f1 >
.f1)
return
1
;
if
(
.f2 <
.f2)
return
-
1
;
else
if
(
.f2 >
.f2)
return
1
;
if
(
.f3 <
.f3)
return
-
1
;
else
if
(
.f3 >
.f3)
return
1
;
if
(
.f4 <
.f4)
return
-
1
;
else
if
(
.f4 >
.f4)
return
1
;
if
(
.f5 <
.f5)
return
-
1
;
else
if
(
.f5 >
.f5)
return
1
;
if
(
.f6 <
.f6)
return
-
1
;
else
if
(
.f6 >
.f6)
return
1
;
if
(
.f7 <
.f7)
return
-
1
;
else
if
(
.f7 >
.f7)
return
1
;
if
(
.f8 <
.f8)
return
-
1
;
else
if
(
.f8 >
.f8)
return
1
;
return
0
;
}
bool
(
const
<
,
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) ==
0
; }
bool
(
const
<
,
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) !=
0
; }
bool
(
const
<
,
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) <
0
; }
bool
(
const
<
,
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) <=
0
; }
bool
(
const
<
,
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) >
0
; }
bool
(
const
<
,
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) >=
0
; }
};
template
<
typename
,
typename
,
typename
,
typename
,
typename
,
typename
,
typename
,
typename
,
typename
,
typename
>
class
<
,
,
,
,
,
,
,
,
,
> :
public
{
public
:
;
;
;
;
;
;
;
;
;
;
()
{
}
(
,
,
,
,
,
,
,
,
,
)
:f0(
),f1(
),f2(
),f3(
),f4(
),f5(
),f6(
),f7(
),f8(
),f9(
)
{
}
static
int
(
const
<
,
,
,
,
,
,
,
,
,
>&
,
const
<
,
,
,
,
,
,
,
,
,
>&
)
{
if
(
.f0 <
.f0)
return
-
1
;
else
if
(
.f0 >
.f0)
return
1
;
if
(
.f1 <
.f1)
return
-
1
;
else
if
(
.f1 >
.f1)
return
1
;
if
(
.f2 <
.f2)
return
-
1
;
else
if
(
.f2 >
.f2)
return
1
;
if
(
.f3 <
.f3)
return
-
1
;
else
if
(
.f3 >
.f3)
return
1
;
if
(
.f4 <
.f4)
return
-
1
;
else
if
(
.f4 >
.f4)
return
1
;
if
(
.f5 <
.f5)
return
-
1
;
else
if
(
.f5 >
.f5)
return
1
;
if
(
.f6 <
.f6)
return
-
1
;
else
if
(
.f6 >
.f6)
return
1
;
if
(
.f7 <
.f7)
return
-
1
;
else
if
(
.f7 >
.f7)
return
1
;
if
(
.f8 <
.f8)
return
-
1
;
else
if
(
.f8 >
.f8)
return
1
;
if
(
.f9 <
.f9)
return
-
1
;
else
if
(
.f9 >
.f9)
return
1
;
return
0
;
}
bool
(
const
<
,
,
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) ==
0
; }
bool
(
const
<
,
,
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) !=
0
; }
bool
(
const
<
,
,
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) <
0
; }
bool
(
const
<
,
,
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) <=
0
; }
bool
(
const
<
,
,
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) >
0
; }
bool
(
const
<
,
,
,
,
,
,
,
,
,
>&
)
const
{
return
(*
this
,
) >=
0
; }
};
}
#endif