| 171 | |
| 172 | template<class P = T> |
| 173 | typename std::enable_if<std::is_trivially_copyable< |
| 174 | std::remove_reference_t<P>>::value>::type |
| 175 | operator = (const SparseArray& rhs) { |
| 176 | auto b = reset(rhs._capacity); |
| 177 | auto src = (char*)rhs.buf(); |
| 178 | memcpy(b, src, (char*)(rhs._ptr + rhs._capacity) - src); |
| 179 | _size = rhs._size; |
| 180 | } |
| 181 | |
| 182 | template<class P = T> |
| 183 | typename std::enable_if<!std::is_trivially_copyable< |