Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      C++ named requirements:Formatter(since C++20)

      From cppreference.com
      <cpp‎ |named req
       
       
      C++ named requirements
       

      Formatter is a type that abstracts formatting operations for a given formatting argument type and character type. Specializations ofstd::formatter provided by the standard library are required to meet the requirements ofFormatter except as noted otherwise.

      AFormatter is able to format both const and non-const arguments, typically by providing aformat member function that takes a const reference.

      [edit]Requirements

      A type satisfiesFormatter if it satisfiesBasicFormatter and given the following types and values, the expressions shown in the table below are valid and have the indicated semantics:

      Type Definition
      CharT a character type
      Arg a formatting argument type
      Formatter aFormatter type for typesArg andCharT
      OutputIt aLegacyOutputIterator type
      ParseCtxstd::basic_format_parse_context<CharT>
      FmtCtxstd::basic_format_context<OutputIt, CharT>
      Value Definition
      f a value of type (possibly const-qualified)Formatter
      arg an lvalue of typeArg
      t a value of type convertible to (possibly const-qualified)Arg
      parse_ctx an lvalue of typeParseCtx satisfying all following conditions:
      • parse_ctx.begin() points to the beginning of theformat-spec of the replacement field being formatted in theformat string.
      • Ifformat-spec is not present or empty, then eitherparse_ctx.begin()== parse_ctx.end() or*parse_ctx.begin()=='}'.
      fmt_ctx an lvalue of typeFmtCtx
      ExpressionReturn typeSemantics
      f.format(t, fmt_ctx)FmtCtx::iterator 
      • Formatst according to the specifiers stored inf, writes the output tofmt_ctx.out() and returns an end iterator of the output range.
      • The output can only depend on
        • t,
        • fmt_ctx.locale(),
        • the range[parse_ctx.begin()parse_ctx.end()) from the last call tof.parse(parse_ctx), and
        • fmt_ctx.arg(n) for any valuen of typestd::size_t.
      f.format(arg, fmt_ctx)FmtCtx::iteratorAs above, but does not modifyarg.

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 3892C++20the value ofpc.begin() was unclear ifformat-spec is not presentmade clear
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/named_req/Formatter&oldid=169590"

      [8]ページ先頭

      ©2009-2025 Movatter.jp