CompareKeys.h
// CompareKeys.h
//
// Author David Barrett-Lennard
// (C)opyright Cedanet Pty Ltd 2008
namespace ceda
{
///////////////////////////////////////////////////////////////////////////////////////////////////
// CompareKeys
// Returns > 0 if k1 > k2
// = 0 if k1 = k2
// < 0 if k1 < k2
template <typename Key>
inline int CompareKeys(const Key& k1, const Key& k2)
{
return k1==k2 ? 0 : (k1<k2 ? -1 : 1);
}
inline int CompareKeys(int8 k1, int8 k2)
{
return k1 - k2;
}
inline int CompareKeys(int16 k1, int16 k2)
{
return k1 - k2;
}
inline int CompareKeys(int32 k1, int32 k2)
{
return k1 - k2;
}
template<typename T>
inline int CompareKeys(const xvector<T>& k1, const xvector<T>& k2)
{
return k1.compare(k2);
}
} // namespace ceda