1*6777b538SAndroid Build Coastguard Worker // Copyright 2020 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #ifndef BASE_RANGES_FUNCTIONAL_H_ 6*6777b538SAndroid Build Coastguard Worker #define BASE_RANGES_FUNCTIONAL_H_ 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker #include <functional> 9*6777b538SAndroid Build Coastguard Worker #include <type_traits> 10*6777b538SAndroid Build Coastguard Worker #include <utility> 11*6777b538SAndroid Build Coastguard Worker 12*6777b538SAndroid Build Coastguard Worker namespace base { 13*6777b538SAndroid Build Coastguard Worker 14*6777b538SAndroid Build Coastguard Worker namespace ranges { 15*6777b538SAndroid Build Coastguard Worker 16*6777b538SAndroid Build Coastguard Worker // Simplified implementations of C++20's std::ranges comparison function 17*6777b538SAndroid Build Coastguard Worker // objects. As opposed to the std::ranges implementation, these versions do not 18*6777b538SAndroid Build Coastguard Worker // constrain the passed-in types. 19*6777b538SAndroid Build Coastguard Worker // 20*6777b538SAndroid Build Coastguard Worker // Reference: https://wg21.link/range.cmp 21*6777b538SAndroid Build Coastguard Worker using equal_to = std::equal_to<>; 22*6777b538SAndroid Build Coastguard Worker using not_equal_to = std::not_equal_to<>; 23*6777b538SAndroid Build Coastguard Worker using greater = std::greater<>; 24*6777b538SAndroid Build Coastguard Worker using less = std::less<>; 25*6777b538SAndroid Build Coastguard Worker using greater_equal = std::greater_equal<>; 26*6777b538SAndroid Build Coastguard Worker using less_equal = std::less_equal<>; 27*6777b538SAndroid Build Coastguard Worker 28*6777b538SAndroid Build Coastguard Worker } // namespace ranges 29*6777b538SAndroid Build Coastguard Worker 30*6777b538SAndroid Build Coastguard Worker } // namespace base 31*6777b538SAndroid Build Coastguard Worker 32*6777b538SAndroid Build Coastguard Worker #endif // BASE_RANGES_FUNCTIONAL_H_ 33