Trying to guess what GCC wants in this case is baffling...

This commit is contained in:
ThePhD 2013-12-21 19:51:48 -05:00
parent 4f279c5033
commit cfda1d34ba

View File

@ -104,26 +104,22 @@ public:
template <typename Table, typename Key, typename T> template <typename Table, typename Key, typename T>
bool operator== ( T&& left, const proxy<Table, Key>& right ) { bool operator== ( T&& left, const proxy<Table, Key>& right ) {
typedef Decay<T> TDk; return right.get<Decay<T>>( ) == left;
return right.get<TDk>( ) == left;
} }
template <typename Table, typename Key, typename T> template <typename Table, typename Key, typename T>
bool operator== ( const proxy<Table, Key>& right, T&& left ) { bool operator== ( const proxy<Table, Key>& right, T&& left ) {
typedef Decay<T> TDk; return right.get<Decay<T>>( ) == left;
return right.get<TDk>( ) == left;
} }
template <typename Table, typename Key, typename T> template <typename Table, typename Key, typename T>
bool operator!= ( T&& left, const proxy<Table, Key>& right ) { bool operator!= ( T&& left, const proxy<Table, Key>& right ) {
typedef Decay<T> TDk; return right.get<Decay<T>>( ) != left;
return right.get<TDk>( ) != left;
} }
template <typename Table, typename Key, typename T> template <typename Table, typename Key, typename T>
bool operator!= ( const proxy<Table, Key>& right, T&& left ) { bool operator!= ( const proxy<Table, Key>& right, T&& left ) {
typedef Decay<T> TDk; return right.get<Decay<T>>( ) != left;
return right.get<TDk>( ) != left;
} }
} // sol } // sol