Skip to content
Snippets Groups Projects
Commit f31626a3 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

add more types to compare

parent 1c655a49
No related branches found
No related tags found
No related merge requests found
...@@ -20,6 +20,27 @@ struct compare<bool> { ...@@ -20,6 +20,27 @@ struct compare<bool> {
} }
}; };
   
template<>
struct compare<char> {
int operator()(char first, char second) const {
return first - second;
}
};
template<>
struct compare<short> {
int operator()(short first, short second) const {
return first - second;
}
};
template<>
struct compare<unsigned> {
int operator()(unsigned first, unsigned second) const {
return first - second;
}
};
template<> template<>
struct compare<int> { struct compare<int> {
int operator()(int first, int second) const { int operator()(int first, int second) const {
...@@ -27,10 +48,39 @@ struct compare<int> { ...@@ -27,10 +48,39 @@ struct compare<int> {
} }
}; };
   
template<>
struct compare<long> {
int operator()(long first, long second) const {
if ( first < second )
return -1;
else if ( first > second )
return 1;
else
return 0;
}
};
template<>
struct compare<long long> {
int operator()(long long first, long long second) const {
if ( first < second )
return -1;
else if ( first > second )
return 1;
else
return 0;
}
};
template<> template<>
struct compare<double> { struct compare<double> {
int operator()(double first, double second) const { int operator()(double first, double second) const {
return first - second; if ( first < second )
return -1;
else if ( first > second )
return 1;
else
return 0;
} }
}; };
   
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment