#pragma once #include <algorithm> #include <boost/shared_ptr.hpp> namespace pawian { namespace Collection { struct PtrLess { template<class PtrType> bool operator()(PtrType ptr1, PtrType ptr2) const { return (*ptr1) < (*ptr2); } }; struct SharedPtrLess { template<class PtrType> bool operator()(boost::shared_ptr<PtrType> shptr1, boost::shared_ptr<PtrType> shptr2) const { PtrType* ptr1=shptr1.get(); PtrType* ptr2=shptr2.get(); return (*ptr1) < (*ptr2); } }; } }