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

履歴 編集

function template
<iterator>

std::operator!=

namespace std {
  // operator==により、以下の演算子が使用可能になる (C++20)
  template <class CharT, class Traits>
  bool operator!=(const istreambuf_iterator<CharT, Traits>& a,
                  const istreambuf_iterator<CharT, Traits>& b); // (1) C++03

  template <class charT,
            class traits = char_traits<charT>>
  class istream_iterator {
  public:
    friend bool operator!=(const istreambuf_iterator& i, default_sentinel_t); // (2) C++20
    friend bool operator!=(default_sentinel_t, const istreambuf_iterator& i); // (3) C++20
  };
}

概要

2つのistreambuf_iteratorオブジェクトを非等値比較する。

戻り値

!a.equal(b)

#include <iostream>
#include <iterator>
#include <sstream>

int main()
{
  std::stringstream ss;
  ss << "123";

  std::istreambuf_iterator<char> it1(ss);
  std::istreambuf_iterator<char> last;

  if (it1 != last) {
    std::cout << "not equal" << std::endl;
  }
  else {
    std::cout << "equal" << std::endl;
  }
}

出力

not equal

参照