namespace gen {
class Less {
-public:
+ public:
template <class First, class Second>
auto operator()(const First& first, const Second& second) const ->
decltype(first < second) {
};
class Greater {
-public:
+ public:
template <class First, class Second>
auto operator()(const First& first, const Second& second) const ->
decltype(first > second) {
template <int n>
class Get {
-public:
+ public:
template <class Value>
auto operator()(Value&& value) const ->
decltype(std::get<n>(std::forward<Value>(value))) {
};
class Move {
-public:
+ public:
template <class Value>
auto operator()(Value&& value) const ->
decltype(std::move(std::forward<Value>(value))) {