diff --git a/pxr/usd/sdf/mapEditProxy.h b/pxr/usd/sdf/mapEditProxy.h index ddc98ae4a7..433f566776 100644 --- a/pxr/usd/sdf/mapEditProxy.h +++ b/pxr/usd/sdf/mapEditProxy.h @@ -38,7 +38,6 @@ #include "pxr/base/tf/mallocTag.h" #include #include -#include #include #include @@ -117,8 +116,7 @@ class SdfIdentityMapEditProxyValuePolicy { /// \sa SdfIdentityMapEditProxyValuePolicy /// template > -class SdfMapEditProxy : - boost::totally_ordered, T> { +class SdfMapEditProxy { public: typedef T Type; typedef _ValuePolicy ValuePolicy; @@ -578,6 +576,21 @@ class SdfMapEditProxy : return _Validate() ? _CompareEqual(other) : false; } + bool operator!=(const Type& other) const + { + return !(*this == other); + } + + friend bool operator==(const Type& lhs, const SdfMapEditProxy& rhs) + { + return rhs == lhs; + } + + friend bool operator!=(const Type& lhs, const SdfMapEditProxy& rhs) + { + return rhs != lhs; + } + bool operator<(const Type& other) const { return _Validate() ? _Compare(other) < 0 : false; @@ -588,6 +601,36 @@ class SdfMapEditProxy : return _Validate() ? _Compare(other) > 0 : false; } + bool operator>=(const Type& other) const + { + return !(*this < other); + } + + bool operator<=(const Type& other) const + { + return !(*this > other); + } + + friend bool operator<(const Type& lhs, const SdfMapEditProxy& rhs) + { + return rhs > lhs; + } + + friend bool operator>(const Type& lhs, const SdfMapEditProxy& rhs) + { + return rhs < lhs; + } + + friend bool operator<=(const Type& lhs, const SdfMapEditProxy& rhs) + { + return rhs >= lhs; + } + + friend bool operator>=(const Type& lhs, const SdfMapEditProxy& rhs) + { + return rhs <= lhs; + } + template bool operator==(const SdfMapEditProxy& other) const {