1*5f757f3fSDimitry Andric// -*- C++ -*- 2*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 3*5f757f3fSDimitry Andric// 4*5f757f3fSDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*5f757f3fSDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 6*5f757f3fSDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*5f757f3fSDimitry Andric// 8*5f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 9*5f757f3fSDimitry Andric 10*5f757f3fSDimitry Andricexport namespace std { 11*5f757f3fSDimitry Andric // [format.context], class template basic_format_context 12*5f757f3fSDimitry Andric using std::basic_format_context; 13*5f757f3fSDimitry Andric using std::format_context; 14*5f757f3fSDimitry Andric#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS 15*5f757f3fSDimitry Andric using std::wformat_context; 16*5f757f3fSDimitry Andric#endif 17*5f757f3fSDimitry Andric 18*5f757f3fSDimitry Andric // [format.args], class template basic_format_args 19*5f757f3fSDimitry Andric using std::basic_format_args; 20*5f757f3fSDimitry Andric using std::format_args; 21*5f757f3fSDimitry Andric#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS 22*5f757f3fSDimitry Andric using std::wformat_args; 23*5f757f3fSDimitry Andric#endif 24*5f757f3fSDimitry Andric 25*5f757f3fSDimitry Andric // [format.fmt.string], class template basic_format_string 26*5f757f3fSDimitry Andric using std::basic_format_string; 27*5f757f3fSDimitry Andric using std::format_string; 28*5f757f3fSDimitry Andric#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS 29*5f757f3fSDimitry Andric using std::wformat_string; 30*5f757f3fSDimitry Andric#endif 31*5f757f3fSDimitry Andric#if _LIBCPP_STD_VER >= 26 32*5f757f3fSDimitry Andric using std::runtime_format; 33*5f757f3fSDimitry Andric#endif //_LIBCPP_STD_VER >= 26 34*5f757f3fSDimitry Andric 35*5f757f3fSDimitry Andric // [format.functions], formatting functions 36*5f757f3fSDimitry Andric using std::format; 37*5f757f3fSDimitry Andric using std::format_to; 38*5f757f3fSDimitry Andric using std::vformat; 39*5f757f3fSDimitry Andric using std::vformat_to; 40*5f757f3fSDimitry Andric 41*5f757f3fSDimitry Andric using std::format_to_n; 42*5f757f3fSDimitry Andric using std::format_to_n_result; 43*5f757f3fSDimitry Andric using std::formatted_size; 44*5f757f3fSDimitry Andric 45*5f757f3fSDimitry Andric // [format.formatter], formatter 46*5f757f3fSDimitry Andric using std::formatter; 47*5f757f3fSDimitry Andric 48*5f757f3fSDimitry Andric#if _LIBCPP_STD_VER >= 23 49*5f757f3fSDimitry Andric // [format.formattable], concept formattable 50*5f757f3fSDimitry Andric using std::formattable; 51*5f757f3fSDimitry Andric#endif 52*5f757f3fSDimitry Andric 53*5f757f3fSDimitry Andric // [format.parse.ctx], class template basic_format_parse_context 54*5f757f3fSDimitry Andric using std::basic_format_parse_context; 55*5f757f3fSDimitry Andric using std::format_parse_context; 56*5f757f3fSDimitry Andric#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS 57*5f757f3fSDimitry Andric using std::wformat_parse_context; 58*5f757f3fSDimitry Andric#endif 59*5f757f3fSDimitry Andric 60*5f757f3fSDimitry Andric#if _LIBCPP_STD_VER >= 23 61*5f757f3fSDimitry Andric // [format.range], formatting of ranges 62*5f757f3fSDimitry Andric // [format.range.fmtkind], variable template format_kind 63*5f757f3fSDimitry Andric using std::format_kind; 64*5f757f3fSDimitry Andric using std::range_format; 65*5f757f3fSDimitry Andric 66*5f757f3fSDimitry Andric // [format.range.formatter], class template range_formatter 67*5f757f3fSDimitry Andric using std::range_formatter; 68*5f757f3fSDimitry Andric#endif // _LIBCPP_STD_VER >= 23 69*5f757f3fSDimitry Andric 70*5f757f3fSDimitry Andric // [format.arg], class template basic_format_arg 71*5f757f3fSDimitry Andric using std::basic_format_arg; 72*5f757f3fSDimitry Andric using std::visit_format_arg; 73*5f757f3fSDimitry Andric 74*5f757f3fSDimitry Andric // [format.arg.store], class template format-arg-store 75*5f757f3fSDimitry Andric using std::make_format_args; 76*5f757f3fSDimitry Andric#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS 77*5f757f3fSDimitry Andric using std::make_wformat_args; 78*5f757f3fSDimitry Andric#endif 79*5f757f3fSDimitry Andric 80*5f757f3fSDimitry Andric // [format.error], class format_error 81*5f757f3fSDimitry Andric using std::format_error; 82*5f757f3fSDimitry Andric} // namespace std 83