Add overloads for comparing safe<T> with T

This commit is contained in:
Eric Frias 2015-07-14 10:45:36 -04:00
parent 5f43c06bae
commit 2593760687

View file

@ -150,27 +150,79 @@ namespace fc {
{ {
return a.value == b.value; return a.value == b.value;
} }
friend bool operator == ( const safe& a, const T& b )
{
return a.value == b;
}
friend bool operator == ( const T& a, const safe& b )
{
return a == b.value;
}
friend bool operator < ( const safe& a, const safe& b ) friend bool operator < ( const safe& a, const safe& b )
{ {
return a.value < b.value; return a.value < b.value;
} }
friend bool operator < ( const safe& a, const T& b )
{
return a.value < b;
}
friend bool operator < ( const T& a, const safe& b )
{
return a < b.value;
}
friend bool operator > ( const safe& a, const safe& b ) friend bool operator > ( const safe& a, const safe& b )
{ {
return a.value > b.value; return a.value > b.value;
} }
friend bool operator > ( const safe& a, const T& b )
{
return a.value > b;
}
friend bool operator > ( const T& a, const safe& b )
{
return a > b.value;
}
friend bool operator != ( const safe& a, const safe& b ) friend bool operator != ( const safe& a, const safe& b )
{ {
return !(a == b); return !(a == b);
} }
friend bool operator != ( const safe& a, const T& b )
{
return !(a == b);
}
friend bool operator != ( const T& a, const safe& b )
{
return !(a == b);
}
friend bool operator <= ( const safe& a, const safe& b ) friend bool operator <= ( const safe& a, const safe& b )
{ {
return !(a > b ); return !(a > b);
} }
friend bool operator <= ( const safe& a, const T& b )
{
return !(a > b);
}
friend bool operator <= ( const T& a, const safe& b )
{
return !(a > b);
}
friend bool operator >= ( const safe& a, const safe& b ) friend bool operator >= ( const safe& a, const safe& b )
{ {
return !(a < b); return !(a < b);
} }
friend bool operator >= ( const safe& a, const T& b )
{
return !(a < b);
}
friend bool operator >= ( const T& a, const safe& b )
{
return !(a < b);
}
}; };
} }