32 lines
592 B
C++
Executable File
32 lines
592 B
C++
Executable File
// License: Modified MIT (NON-AI)
|
|
// See the LICENSE file in the root directory for license information.
|
|
// Copyright 2025 Timothy Prepscius
|
|
|
|
#pragma once
|
|
|
|
#include "../ptr/Ptr.h"
|
|
|
|
namespace tjp::core {
|
|
|
|
template<typename T>
|
|
struct ByPtr {
|
|
typedef bool is_transparent;
|
|
|
|
bool operator() (const StrongPtr<T> &lhs, const StrongPtr<T> &rhs) const
|
|
{
|
|
return ptr_of(lhs) < ptr_of(rhs);
|
|
}
|
|
|
|
bool operator() (const StrongPtr<T> &lhs, const T *rhs) const
|
|
{
|
|
return ptr_of(lhs) < rhs;
|
|
}
|
|
|
|
bool operator() (const T *lhs, const StrongPtr<T> &rhs) const
|
|
{
|
|
return lhs < ptr_of(rhs);
|
|
}
|
|
} ;
|
|
|
|
}
|