[PATCH] D40415: [libcxx] Define istream_iterator equality comparison operators out-of-line

2017-12-11 Thread Roger Ferrer Ibanez via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rL320363: [libcxx] Define istream_iterator equality comparison 
operators out-of-line (authored by rogfer01).

Changed prior to commit:
  https://reviews.llvm.org/D40415?vs=124155=126349#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D40415

Files:
  libcxx/trunk/include/iterator
  
libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp


Index: libcxx/trunk/include/iterator
===
--- libcxx/trunk/include/iterator
+++ libcxx/trunk/include/iterator
@@ -904,15 +904,37 @@
 _LIBCPP_INLINE_VISIBILITY istream_iterator  operator++(int)
 {istream_iterator __t(*this); ++(*this); return __t;}
 
+template 
 friend _LIBCPP_INLINE_VISIBILITY
-bool operator==(const istream_iterator& __x, const istream_iterator& __y)
-{return __x.__in_stream_ == __y.__in_stream_;}
+bool
+operator==(const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __x,
+   const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __y);
 
+template 
 friend _LIBCPP_INLINE_VISIBILITY
-bool operator!=(const istream_iterator& __x, const istream_iterator& __y)
-{return !(__x == __y);}
+bool
+operator==(const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __x,
+   const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __y);
 };
 
+template 
+inline _LIBCPP_INLINE_VISIBILITY
+bool
+operator==(const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __x,
+   const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __y)
+{
+return __x.__in_stream_ == __y.__in_stream_;
+}
+
+template 
+inline _LIBCPP_INLINE_VISIBILITY
+bool
+operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __x,
+   const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __y)
+{
+return !(__x == __y);
+}
+
 template  >
 class _LIBCPP_TEMPLATE_VIS ostream_iterator
 : public iterator
Index: 
libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp
===
--- 
libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp
+++ 
libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp
@@ -49,4 +49,7 @@
 
 assert(i4 == i4);
 assert(i4 == i5);
+
+assert(std::operator==(i1, i2));
+assert(std::operator!=(i1, i3));
 }


Index: libcxx/trunk/include/iterator
===
--- libcxx/trunk/include/iterator
+++ libcxx/trunk/include/iterator
@@ -904,15 +904,37 @@
 _LIBCPP_INLINE_VISIBILITY istream_iterator  operator++(int)
 {istream_iterator __t(*this); ++(*this); return __t;}
 
+template 
 friend _LIBCPP_INLINE_VISIBILITY
-bool operator==(const istream_iterator& __x, const istream_iterator& __y)
-{return __x.__in_stream_ == __y.__in_stream_;}
+bool
+operator==(const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __x,
+   const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __y);
 
+template 
 friend _LIBCPP_INLINE_VISIBILITY
-bool operator!=(const istream_iterator& __x, const istream_iterator& __y)
-{return !(__x == __y);}
+bool
+operator==(const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __x,
+   const istream_iterator<_Up, _CharU, _TraitsU, _DistanceU>& __y);
 };
 
+template 
+inline _LIBCPP_INLINE_VISIBILITY
+bool
+operator==(const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __x,
+   const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __y)
+{
+return __x.__in_stream_ == __y.__in_stream_;
+}
+
+template 
+inline _LIBCPP_INLINE_VISIBILITY
+bool
+operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __x,
+   const istream_iterator<_Tp, _CharT, _Traits, _Distance>& __y)
+{
+return !(__x == __y);
+}
+
 template  >
 class _LIBCPP_TEMPLATE_VIS ostream_iterator
 : public iterator
Index: libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp
===
--- libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp
+++ libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp
@@ -49,4 +49,7 @@
 
 assert(i4 == i4);
 assert(i4 == i5);
+
+assert(std::operator==(i1, i2));
+assert(std::operator!=(i1, i3));
 }
___
cfe-commits mailing list
cfe-commits@lists.llvm.org

[PATCH] D40415: [libcxx] Define istream_iterator equality comparison operators out-of-line

2017-12-11 Thread Mikhail Maltsev via Phabricator via cfe-commits
miyuki added a comment.

In https://reviews.llvm.org/D40415#950793, @rogfer01 wrote:

> Hi @miyuki I can commit it.


Please do so.


https://reviews.llvm.org/D40415



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D40415: [libcxx] Define istream_iterator equality comparison operators out-of-line

2017-12-11 Thread Roger Ferrer Ibanez via Phabricator via cfe-commits
rogfer01 added a comment.

Hi @miyuki I can commit it.


https://reviews.llvm.org/D40415



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D40415: [libcxx] Define istream_iterator equality comparison operators out-of-line

2017-12-05 Thread Mikhail Maltsev via Phabricator via cfe-commits
miyuki added a comment.

Ping


https://reviews.llvm.org/D40415



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D40415: [libcxx] Define istream_iterator equality comparison operators out-of-line

2017-11-27 Thread Mikhail Maltsev via Phabricator via cfe-commits
miyuki added a comment.

In https://reviews.llvm.org/D40415#934939, @EricWF wrote:

> LGTM. Thanks.


I don't have write access. Please commit the patch on my behalf.


https://reviews.llvm.org/D40415



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D40415: [libcxx] Define istream_iterator equality comparison operators out-of-line

2017-11-25 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision.
EricWF added a comment.
This revision is now accepted and ready to land.

LGTM. Thanks.


https://reviews.llvm.org/D40415



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits