| 52 | |
| 53 | template <typename V> |
| 54 | void SArray<V>::reset(V* data, size_t size, bool deletable) { |
| 55 | capacity_ = size; |
| 56 | size_ = size; |
| 57 | data_ = data; |
| 58 | if (deletable) { |
| 59 | ptr_.reset(reinterpret_cast<char*>(data_), [](char *p) { |
| 60 | delete [] p; |
| 61 | }); |
| 62 | } else { |
| 63 | ptr_.reset(reinterpret_cast<char*>(data_), [](char *p) {}); |
| 64 | } |
| 65 | } |
| 66 | |
| 67 | template <typename V> |
| 68 | template <typename W> |