#ifndef LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_MESSAGE_MAPPER_H
#define LLVM_LIBC_SRC___SUPPORT_STRINGUTIL_MESSAGE_MAPPER_H
#include "src/__support/CPP/array.h"
#include "src/__support/CPP/optional.h"
#include "src/__support/CPP/string_view.h"
#include "src/__support/macros/config.h"
#include <stddef.h>
namespace LIBC_NAMESPACE_DECL {
struct MsgMapping { … };
MsgTable;
template <size_t N> constexpr size_t total_str_len(const MsgTable<N> &table) { … }
template <size_t N> constexpr size_t max_key_val(const MsgTable<N> &table) { … }
template <size_t ARR_SIZE, size_t TOTAL_STR_LEN> class MessageMapper { … };
template <size_t N1, size_t N2>
constexpr MsgTable<N1 + N2> operator+(const MsgTable<N1> &t1,
const MsgTable<N2> &t2) { … }
}
#endif