TODO: This can't be used for e.g. vec
| 131 | |
| 132 | // TODO: This can't be used for e.g. vec<Val> |
| 133 | auto deep_copy() const -> vec { |
| 134 | auto v = vec(size_); |
| 135 | if (v) for (size_t i = 0; i < size_; ++i) v.data_[i] = data_[i]->copy(); |
| 136 | return v; |
| 137 | } |
| 138 | |
| 139 | static auto make_uninitialized(size_t size = 0) -> vec { |
| 140 | return vec(size); |