| 57 | // Note: Cannot wrap pointers to array of unknown bound (i.e. U(*)[]). |
| 58 | template <typename T> |
| 59 | std::unique_ptr<T> WrapUnique(T* ptr) { |
| 60 | static_assert(!std::is_array<T>::value || std::extent<T>::value != 0, |
| 61 | "types T[0] or T[] are unsupported"); |
| 62 | return std::unique_ptr<T>(ptr); |
| 63 | } |
| 64 | |
| 65 | template <typename T, typename... Args> |
| 66 | typename helper::MakeUniqueResult<T>::scalar MakeUnique(Args&&... args) { |
no outgoing calls