#ifndef LLVM_LIBC_SRC___SUPPORT_CPP_STRING_H
#define LLVM_LIBC_SRC___SUPPORT_CPP_STRING_H
#include "src/__support/CPP/string_view.h"
#include "src/__support/integer_to_string.h"
#include "src/__support/macros/config.h"
#include "src/string/memory_utils/inline_memcpy.h"
#include "src/string/memory_utils/inline_memset.h"
#include "src/string/string_utils.h"
#include <stddef.h>
#include <stdlib.h>
namespace LIBC_NAMESPACE_DECL {
namespace cpp {
class string { … };
LIBC_INLINE bool operator==(const string &lhs, const string &rhs) { … }
LIBC_INLINE bool operator!=(const string &lhs, const string &rhs) { … }
LIBC_INLINE bool operator<(const string &lhs, const string &rhs) { … }
LIBC_INLINE bool operator<=(const string &lhs, const string &rhs) { … }
LIBC_INLINE bool operator>(const string &lhs, const string &rhs) { … }
LIBC_INLINE bool operator>=(const string &lhs, const string &rhs) { … }
LIBC_INLINE string operator+(const string &lhs, const string &rhs) { … }
LIBC_INLINE string operator+(const string &lhs, const char *rhs) { … }
LIBC_INLINE string operator+(const char *lhs, const string &rhs) { … }
namespace internal {
template <typename T> string to_dec_string(T value) { … }
}
LIBC_INLINE string to_string(int value) { … }
LIBC_INLINE string to_string(long value) { … }
LIBC_INLINE string to_string(long long value) { … }
LIBC_INLINE string to_string(unsigned value) { … }
LIBC_INLINE string to_string(unsigned long value) { … }
LIBC_INLINE string to_string(unsigned long long value) { … }
}
}
#endif