#pragma GCC system_header #ifndef _LIBCXX_ALGORITHM #define _LIBCXX_ALGORITHM #include <__config> #include <__undef_macros> _LIBCXX_BEGIN_NAMESPACE_STD template static inline constexpr T min(const T& a, const T& b) { return a < b ? a : b; } template static inline constexpr T max(const T& a, const T& b) { return a < b ? b : a; } template static constexpr Iter find(Iter first, Iter last, const T& value) { for (; first != last; ++first) { if (*first == value) { return first; } } return last; } template static constexpr OutputIter copy(InputIter first, InputIter last, OutputIter dist) { for (; first != last; ++first) { *dist++ = *first; } return dist; } _LIBCXX_END_NAMESPACE_STD #endif // _LIBCXX_ALGORITHM