1//===-- A self contained equivalent of <algorithm> --------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8// This file is minimalist on purpose but can receive a few more function if
9// they prove useful.
10//===----------------------------------------------------------------------===//
11
12#ifndef LLVM_LIBC_SRC___SUPPORT_CPP_ALGORITHM_H
13#define LLVM_LIBC_SRC___SUPPORT_CPP_ALGORITHM_H
14
15#include "src/__support/macros/attributes.h" // LIBC_INLINE
16
17namespace LIBC_NAMESPACE {
18namespace cpp {
19
20template <class T> LIBC_INLINE constexpr const T &max(const T &a, const T &b) {
21 return (a < b) ? b : a;
22}
23
24template <class T> LIBC_INLINE constexpr const T &min(const T &a, const T &b) {
25 return (a < b) ? a : b;
26}
27
28} // namespace cpp
29} // namespace LIBC_NAMESPACE
30
31#endif // LLVM_LIBC_SRC___SUPPORT_CPP_ALGORITHM_H
32

source code of libc/src/__support/CPP/algorithm.h