| 693 | |
| 694 | template <typename T> |
| 695 | ZRef<T> znew_array(size_t n) { |
| 696 | ZRef<T> result = ZRef<T>::alloc(); |
| 697 | T *ptr = result.as_ptr(); |
| 698 | for (size_t i = 0; i < n; i++) { |
| 699 | new (ptr + i) T(); |
| 700 | } |
| 701 | return result; |
| 702 | } |
| 703 | |
| 704 | template <typename T> |
| 705 | ZRef<T> znew_uninitialized_array(size_t n) { |