mclow.lists added inline comments.

================
Comment at: include/string:1211
@@ +1210,3 @@
+//     noexcept(declval<_Iter>().operator++()) && 
+//     noexcept(++(declval<_Iter>())) && 
+       noexcept(declval<_Iter>() == declval<_Iter>()) && 
----------------
This is not quite right yet. I need to check for assignment, and the two 
commented out lines attempt to check for increment.

However, the first one fails when the iterator type is a pointer, and the 
second just fails.


================
Comment at: include/string:1556
@@ -1537,3 +1555,3 @@
         <
-             __is_input_iterator  <_InputIterator>::value &&
-            !__is_forward_iterator<_InputIterator>::value,
+           __is_exactly_input_iterator<_InputIterator>::value
+                || 
!__libcpp_string_gets_noexcept_iterator<_InputIterator>::value,
----------------
Drive-by improvement. I got tired of all the `__is_input_iterator  
<_InputIterator>::value && !__is_forward_iterator<_InputIterator>::value`, so I 
added `__is_exactly_input_iterator`

================
Comment at: include/string:2522
@@ -2502,4 +2521,3 @@
 {
-    clear();
-    for (; __first != __last; ++__first)
-        push_back(*__first);
+       call_input();
+       basic_string temp(__first, __last);
----------------
This is just test scaffolding so that I can be sure that the correct overload 
is getting called.
Will be removed before checkin.


================
Comment at: include/string:2538
@@ -2517,2 +2537,3 @@
 {
+       call_forward();
     size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
----------------
Same as #2522


http://reviews.llvm.org/D15862



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

Reply via email to