summaryrefslogtreecommitdiff
path: root/src/common.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common.hpp')
-rw-r--r--src/common.hpp58
1 files changed, 45 insertions, 13 deletions
diff --git a/src/common.hpp b/src/common.hpp
index 0b0fad14..63125b0e 100644
--- a/src/common.hpp
+++ b/src/common.hpp
@@ -68,24 +68,56 @@ static inline Ordering ord(bool l, bool r)
else
return OrdLess;
}
+static inline Ordering ord(char l, char r)
+{
+ return (l == r ? OrdEqual : (l > r ? OrdGreater : OrdLess));
+}
+
+static inline Ordering ord(unsigned char l, unsigned char r)
+{
+ return (l == r ? OrdEqual : (l > r ? OrdGreater : OrdLess));
+}
+static inline Ordering ord(unsigned short l, unsigned short r)
+{
+ return (l == r ? OrdEqual : (l > r ? OrdGreater : OrdLess));
+}
static inline Ordering ord(unsigned l, unsigned r)
{
- if(l == r)
- return OrdEqual;
- else if( l > r )
- return OrdGreater;
- else
- return OrdLess;
+ return (l == r ? OrdEqual : (l > r ? OrdGreater : OrdLess));
}
-static inline Ordering ord(::std::uintptr_t l, ::std::uintptr_t r)
+static inline Ordering ord(unsigned long l, unsigned long r)
{
- if(l == r)
- return OrdEqual;
- else if( l > r )
- return OrdGreater;
- else
- return OrdLess;
+ return (l == r ? OrdEqual : (l > r ? OrdGreater : OrdLess));
}
+static inline Ordering ord(unsigned long long l, unsigned long long r)
+{
+ return (l == r ? OrdEqual : (l > r ? OrdGreater : OrdLess));
+}
+static inline Ordering ord(signed char l, signed char r)
+{
+ return (l == r ? OrdEqual : (l > r ? OrdGreater : OrdLess));
+}
+static inline Ordering ord(short l, short r)
+{
+ return (l == r ? OrdEqual : (l > r ? OrdGreater : OrdLess));
+}
+static inline Ordering ord(long l, long r)
+{
+ return (l == r ? OrdEqual : (l > r ? OrdGreater : OrdLess));
+}
+static inline Ordering ord(long long l, long long r)
+{
+ return (l == r ? OrdEqual : (l > r ? OrdGreater : OrdLess));
+}
+static inline Ordering ord(float l, float r)
+{
+ return (l == r ? OrdEqual : (l > r ? OrdGreater : OrdLess));
+}
+static inline Ordering ord(double l, double r)
+{
+ return (l == r ? OrdEqual : (l > r ? OrdGreater : OrdLess));
+}
+
static inline Ordering ord(const ::std::string& l, const ::std::string& r)
{
if(l == r)