65 template <
typename...
Args>
67 new (
storage_) T(std::forward<Args>(args)...);
86 const T*
get()
const {
return reinterpret_cast<const T*
>(
storage_); }
Definition: no_destructor.h:61
T & operator*()
Definition: no_destructor.h:81
NoDestructor(T &&x)
Definition: no_destructor.h:73
char storage_[sizeof(T)]
Definition: no_destructor.h:90
const T * operator->() const
Definition: no_destructor.h:83
NoDestructor(Args &&... args)
Definition: no_destructor.h:66
NoDestructor(const NoDestructor &)=delete
NoDestructor & operator=(const NoDestructor &)=delete
NoDestructor(const T &x)
Definition: no_destructor.h:72
T * operator->()
Definition: no_destructor.h:84
T * get()
Definition: no_destructor.h:87
const T & operator*() const
Definition: no_destructor.h:80
const T * get() const
Definition: no_destructor.h:86
std::vector< std::string_view > Args
Definition: incremental.h:28