mirror of
https://github.com/fmtlib/fmt.git
synced 2025-12-23 12:04:58 +08:00
Some documentation improvements (#4631)
This commit is contained in:
parent
7bce22571a
commit
2e819a11f2
@ -321,8 +321,6 @@ parameterized version.
|
||||
|
||||
::: arg(const Char*, const T&)
|
||||
|
||||
Named arguments are not supported in compile-time checks at the moment.
|
||||
|
||||
### Compatibility
|
||||
|
||||
::: basic_string_view
|
||||
|
||||
@ -2310,7 +2310,7 @@ template <typename Context> class value {
|
||||
template <typename T, FMT_ENABLE_IF(!has_formatter<T, char_type>())>
|
||||
FMT_CONSTEXPR value(const T&, custom_tag) {
|
||||
// Cannot format an argument; to make type T formattable provide a
|
||||
// formatter<T> specialization: https://fmt.dev/latest/api.html#udt.
|
||||
// formatter<T> specialization: https://fmt.dev/latest/api#udt.
|
||||
type_is_unformattable_for<T, char_type> _;
|
||||
}
|
||||
|
||||
@ -2847,6 +2847,10 @@ using vargs =
|
||||
* **Example**:
|
||||
*
|
||||
* fmt::print("The answer is {answer}.", fmt::arg("answer", 42));
|
||||
*
|
||||
* Named arguments passed with `fmt::arg` are not supported
|
||||
* in compile-time checks, but `"answer"_a=42` are compile-time checked in
|
||||
* sufficiently new compilers. See `operator""_a()`.
|
||||
*/
|
||||
template <typename Char, typename T>
|
||||
inline auto arg(const Char* name, const T& arg) -> detail::named_arg<Char, T> {
|
||||
|
||||
@ -4147,6 +4147,14 @@ template <typename T, typename Char = char> struct nested_formatter {
|
||||
|
||||
inline namespace literals {
|
||||
#if FMT_USE_NONTYPE_TEMPLATE_ARGS
|
||||
/**
|
||||
* User-defined literal equivalent of `fmt::arg`, but with compile-time checks.
|
||||
*
|
||||
* **Example**:
|
||||
*
|
||||
* using namespace fmt::literals;
|
||||
* fmt::print("The answer is {answer}.", "answer"_a=42);
|
||||
*/
|
||||
template <detail::fixed_string S> constexpr auto operator""_a() {
|
||||
using char_t = remove_cvref_t<decltype(*S.data)>;
|
||||
return detail::udl_arg<char_t, sizeof(S.data) / sizeof(char_t), S>();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user