Files
core_zero/tjp/core/containers/ByPtrId.hpp
Timothy Prepscius 996151a56a flatten 20260225
2026-02-25 12:43:06 -05:00

43 lines
759 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 <tjp/core/ptr/Ptr.hpp>
#include <tjp/core/assert/debug_assert.h>
namespace tjp::core {
template<typename T>
struct ByPtrId {
typedef bool is_transparent;
bool operator() (const T *lhs, const T *rhs) const
{
debug_assert(lhs);
debug_assert(rhs);
return lhs->id < rhs->id;
}
template<typename R>
bool operator() (const T *lhs, const R &rhs) const
{
debug_assert(lhs);
debug_assert(rhs);
return lhs->id < rhs;
}
template<typename R>
bool operator() (const R &lhs, const T *rhs) const
{
debug_assert(lhs);
debug_assert(rhs);
return lhs < rhs->id;
}
} ;
}