std::indirectly_comparable
From cppreference.com
                    
                                        
                    
                    
                                                            
                    | Defined in header  <iterator> | ||
| template< class I1, class I2, class Comp,           class Proj1 = std::identity, class Proj2 = std::identity > | (since C++20) | |
The concept indirectly_comparable specifies the fundamental algorithm requirement for comparing values across two independent ranges.
Semantic requirements
indirectly_comparable is modeled only if all concepts it subsumes are modeled.
See also
| (C++20) | specifies that a callable type, when invoked with the result of dereferencing two indirectly_readabletypes, satisfiespredicate(concept) |