+
+static inline bool operator<(const exp_vector_t& v1, const exp_vector_t& v2)
+{
+ return std::lexicographical_compare(v1.rbegin(), v1.rend(),
+ v2.rbegin(), v2.rend());
+}
+
+static inline bool operator>(const exp_vector_t& v1, const exp_vector_t& v2)
+{
+ if (v1 == v2)
+ return false;
+ return !(v1 < v2);
+}
+
+static inline bool zerop(const exp_vector_t& v)
+{
+ for (exp_vector_t::const_reverse_iterator i = v.rbegin(); i != v.rend(); ++i) {
+ if (*i != 0)
+ return false;
+ }
+ return true;
+}
+