Sounds good, I’ll make this change before landing, unless you have further
comments?

On Tue, Mar 5, 2019 at 4:29 AM Pavel Labath via Phabricator <
revi...@reviews.llvm.org> wrote:

> labath added a comment.
>
> The copy constructors and assignment operators are very repetitive. What
> would you say to a function like
>
>   template<typename T>
>   void clone(std::unique_ptr<T> &dest, const std::unique_ptr<T> &src) {
>   if (&dest == &src)
>     return;
>   if (src)
>     dest = llvm::make_unique<T>(*src);
>   else
>     dest.reset();
>   }
>
> (and a similar one for shared_ptrs)? Then both copy constructors and
> assignment operators could be just implemented as `clone(m_whatever,
> rhs.m_whatever);`. (Assuming we don't care about pessimizing the
> self-assignment case this could even be `m_whatever =
> clone(rhs.m_whatever);`)
>
>
> Repository:
>   rLLDB LLDB
>
> CHANGES SINCE LAST ACTION
>   https://reviews.llvm.org/D58946/new/
>
> https://reviews.llvm.org/D58946
>
>
>
> --
Sent from my iPhone
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to