flatten 20260225
This commit is contained in:
34
tjp/core/containers/ByF.hpp
Executable file
34
tjp/core/containers/ByF.hpp
Executable file
@@ -0,0 +1,34 @@
|
||||
// License: Modified MIT (NON-AI)
|
||||
// See the LICENSE file in the root directory for license information.
|
||||
// Copyright 2025 Timothy Prepscius
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace tjp::core {
|
||||
|
||||
template<typename T, typename F>
|
||||
struct ByF {
|
||||
typedef bool is_transparent;
|
||||
|
||||
[[no_unique_address]]
|
||||
F f;
|
||||
|
||||
bool operator() (const T &lhs, const T &rhs) const
|
||||
{
|
||||
return f(lhs) < f(rhs);
|
||||
}
|
||||
|
||||
template<typename R>
|
||||
bool operator() (const T &lhs, const R &rhs) const
|
||||
{
|
||||
return f(lhs) < f(rhs);
|
||||
}
|
||||
|
||||
template<typename R>
|
||||
bool operator() (const R &lhs, const T &rhs) const
|
||||
{
|
||||
return f(lhs) < f(rhs);
|
||||
}
|
||||
} ;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user