• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <iterator>

    std::istreambuf_iterator::コンストラクタ

    constexpr istreambuf_iterator() noexcept;
    istreambuf_iterator(const istreambuf_iterator&) noexcept = default;
    istreambuf_iterator(istream_type& s) noexcept;
    istreambuf_iterator(streambuf_type* s) noexcept;
    istreambuf_iterator(const proxy& p) noexcept;
    

    istreambuf_iteratorオブジェクトの構築

    • istreambuf_iterator()
      デフォルトコンストラクタメンバ変数として保持するstreambufオブジェクトへのポインタをヌル初期化する。
    • istreambuf_iterator(istreamtype& s) noexcept
      s.rdbuf()をメンバ変数として保持する。
    • istreambuf_iterator(streambuf_type* s) noexcept
      sをメンバ変数として保持する
    • istreambuf_iterator(const proxy& p) noexcept
      後置operator++()が返すであろうproxyオブジェクトを受け取り、そのオブジェクトが指すstreambufオブジェクトへのポインタをメンバ変数として保持する。

    #include <iostream>
    #include <iterator>
    #include <sstream>
    
    int main()
    {
      std::stringstream ss;
      ss << "123";
    
      // ストリームの参照から構築
      std::istreambuf_iterator<char> it1(ss);
    
      // streambuf*から構築
      std::istreambuf_iterator<char> it2(ss.rdbuf());
    
      std::cout << *it1 << std::endl;
      std::cout << *it2 << std::endl;
    }
    

    出力

    1
    1
    

    参照