// License: Modified MIT (NON-AI) // See the LICENSE file in the root directory for license information. // Copyright 2025 Timothy Prepscius #pragma once #include #include namespace tjp::core { template 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 bool operator() (const T *lhs, const R &rhs) const { debug_assert(lhs); debug_assert(rhs); return lhs->id < rhs; } template bool operator() (const R &lhs, const T *rhs) const { debug_assert(lhs); debug_assert(rhs); return lhs < rhs->id; } } ; }