Home | History | Annotate | Download | only in istream.iterator.ops
      1 //===----------------------------------------------------------------------===//
      2 //
      3 //                     The LLVM Compiler Infrastructure
      4 //
      5 // This file is dual licensed under the MIT and the University of Illinois Open
      6 // Source Licenses. See LICENSE.TXT for details.
      7 //
      8 //===----------------------------------------------------------------------===//
      9 
     10 // <iterator>
     11 
     12 // class istream_iterator
     13 
     14 // template <class T, class charT, class traits, class Distance>
     15 //   bool operator==(const istream_iterator<T,charT,traits,Distance> &x,
     16 //                   const istream_iterator<T,charT,traits,Distance> &y);
     17 //
     18 // template <class T, class charT, class traits, class Distance>
     19 //   bool operator!=(const istream_iterator<T,charT,traits,Distance> &x,
     20 //                   const istream_iterator<T,charT,traits,Distance> &y);
     21 
     22 #include <iterator>
     23 #include <sstream>
     24 #include <cassert>
     25 
     26 int main()
     27 {
     28     std::istringstream inf1(" 1 23");
     29     std::istringstream inf2(" 1 23");
     30     std::istream_iterator<int> i1(inf1);
     31     std::istream_iterator<int> i2(inf1);
     32     std::istream_iterator<int> i3(inf2);
     33     std::istream_iterator<int> i4;
     34     std::istream_iterator<int> i5;
     35     assert(i1 == i1);
     36     assert(i1 == i2);
     37     assert(i1 != i3);
     38     assert(i1 != i4);
     39     assert(i1 != i5);
     40 
     41     assert(i2 == i2);
     42     assert(i2 != i3);
     43     assert(i2 != i4);
     44     assert(i2 != i5);
     45 
     46     assert(i3 == i3);
     47     assert(i3 != i4);
     48     assert(i3 != i5);
     49 
     50     assert(i4 == i4);
     51     assert(i4 == i5);
     52 
     53     assert(std::operator==(i1, i2));
     54     assert(std::operator!=(i1, i3));
     55 }
     56