boost::interprocess::operator<
// In header: <boost/interprocess/offset_ptr.hpp> template<typename T1, typename T2> bool operator<(const offset_ptr< T1 > & pt1, const offset_ptr< T2 > & pt2);
offset_ptr<T1> < offset_ptr<T2>. Never throws.