mclow.lists added inline comments.

================
Comment at: include/algorithm:4431
         value_type* __p = __buff;
-        for (_BidirectionalIterator __i = __first; __i != __middle; 
__d.__incr((value_type*)0), (void) ++__i, ++__p)
+        for (_BidirectionalIterator __i = __first; __i != __middle; 
__d.__incr((value_type*)nullptr), (void) ++__i, ++__p)
             ::new(__p) value_type(_VSTD::move(*__i));
----------------
I'm not really a fan of casting `nullptr` to a `value_type *`. This change 
doesn't seem to add anything to the code; it's just longer. 

The call to `__incr` doesn't use the pointer at all. Maybe a better approach is 
to change 
```
    template <class _Tp>
    _LIBCPP_INLINE_VISIBILITY void __incr(_Tp*) _NOEXCEPT
        {__incr(integral_constant<bool, 
is_trivially_destructible<_Tp>::value>());}
```

to:
```
    template <class _Tp>
    _LIBCPP_INLINE_VISIBILITY void __incr() _NOEXCEPT
        {__incr(integral_constant<bool, 
is_trivially_destructible<_Tp>::value>());}
```

and remove the `nullptr`s from the calls in `<algorithm>`
Alternately, add an overload of `__incr` that takes a `nullptr_t`.


Repository:
  rCXX libc++

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D43159/new/

https://reviews.llvm.org/D43159



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

Reply via email to