Skip to content

Latest commit

 

History

History
66 lines (50 loc) · 1.6 KB

op_constructor.md

File metadata and controls

66 lines (50 loc) · 1.6 KB

コンストラクタ

  • format[meta header]
  • function[meta id-type]
  • std[meta namespace]
  • basic_format_args[meta class]
  • cpp20[meta cpp]
basic_format_args() noexcept; // (1)

template<class... Args>
basic_format_args(const format_arg_store<Context, Args...>& store) noexcept; // (2)
  • basic_format_args[link /reference/format/basic_format_args.md]
  • format_arg_store[italic]

概要

  • (1): 空のbasic_format_argsを構築する
  • (2): make_format_argsの戻り値から浅いコピーでbasic_format_argsを構築する。

ただし、 format_arg_storemake_format_argsの戻り値と同じ型であることを示す便宜上の名前であり、規格には含まれない。

例外

投げない。

実装例

namespace std {
  template<class Context>
  class basic_format_args {
    size_t size_;
    const basic_format_arg<Context>* data_;

  public:
    basic_format_args() noexcept
      :size_(0)
    {}

    template<class... Args>
    basic_format_args(const format_arg_store<Context, Args...>& store) noexcept
      :size_(sizeof...(Args))
      ,data_(store.args.data())
    {}
  };
}
  • basic_format_arg[link /reference/format/basic_format_arg.md]
  • basic_format_args[link /reference/format/basic_format_args.md]

バージョン

言語

  • C++20

処理系

参照