lokinet/llarp/util/compare_ptr.hpp

23 lines
471 B
C++
Raw Normal View History

#ifndef LLARP_UTIL_COMPARE_PTR_HPP
#define LLARP_UTIL_COMPARE_PTR_HPP
#include <functional>
namespace llarp
{
/// type for comparing smart pointer's managed values
template <typename Ptr_t, typename Compare = std::less<>>
struct ComparePtr
{
bool
operator()(const Ptr_t& left, const Ptr_t& right) const
{
if (left && right)
return Compare()(*left, *right);
2019-07-06 17:03:40 +00:00
return Compare()(left, right);
}
};
} // namespace llarp
2019-07-06 17:03:40 +00:00
#endif