summaryrefslogtreecommitdiff
path: root/src/generic/operators.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/generic/operators.hpp')
-rw-r--r--src/generic/operators.hpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/generic/operators.hpp b/src/generic/operators.hpp
new file mode 100644
index 0000000..3d3dccd
--- /dev/null
+++ b/src/generic/operators.hpp
@@ -0,0 +1,47 @@
+#ifndef TMWA_GENERIC_OPERATORS_HPP
+#define TMWA_GENERIC_OPERATORS_HPP
+
+namespace _operators
+{
+ class Comparable {};
+
+ template<class T>
+ bool operator == (T l, T r)
+ {
+ return l.value == r.value;
+ }
+
+ template<class T>
+ bool operator != (T l, T r)
+ {
+ return l.value != r.value;
+ }
+
+ template<class T>
+ bool operator < (T l, T r)
+ {
+ return l.value < r.value;
+ }
+
+ template<class T>
+ bool operator <= (T l, T r)
+ {
+ return l.value <= r.value;
+ }
+
+ template<class T>
+ bool operator > (T l, T r)
+ {
+ return l.value > r.value;
+ }
+
+ template<class T>
+ bool operator >= (T l, T r)
+ {
+ return l.value >= r.value;
+ }
+}
+
+using _operators::Comparable;
+
+#endif // TMWA_GENERIC_OPERATORS_HPP