21 p = std::make_unique<T>(*r.p);
31 p = std::make_unique<T>(r);
36 p = std::make_unique<T>(std::move(r));
39 const T&
get() const noexcept
51 p = std::make_unique<T>(*other.p);
57 p = std::move(other.p);
Template magic to have a full type instead of an incomplete one as required for example by std::varia...
const T & get() const noexcept
RecursiveWrapper(RecursiveWrapper &&r) noexcept
~RecursiveWrapper()=default
RecursiveWrapper(const RecursiveWrapper &r) noexcept
RecursiveWrapper & operator=(const RecursiveWrapper &other) noexcept
RecursiveWrapper(T &&r) noexcept
RecursiveWrapper()=delete
RecursiveWrapper(const T &r) noexcept
RecursiveWrapper & operator=(RecursiveWrapper &&other) noexcept