I changed how Reference<> types compare - they previously compared by
value (which is not even supported in clang), now compare by reference.
If this breaks anything, I'll rather undo this and instead make the
types used as Reference<> support operator< to compare by value. But I
think comparison by reference is actually wanted here.
template<typename Type>
bool operator<( const Reference<Type>& self, const Reference<Type>& other ){
- return self.get() < other.get();
+ return self.get_pointer() < other.get_pointer();
}
template<typename Type>
bool operator==( const Reference<Type>& self, const Reference<Type>& other ){
- return self.get() == other.get();
+ return self.get_pointer() == other.get_pointer();
}
/// \brief construct a reference to a mutable object.