| 3637 | |
| 3638 | template<typename U> |
| 3639 | static inline void destroy_array(U* p, size_t count) |
| 3640 | { |
| 3641 | if (p != nullptr) { |
| 3642 | assert(count > 0); |
| 3643 | for (size_t i = count; i != 0; ) |
| 3644 | (p + --i)->~U(); |
| 3645 | } |
| 3646 | aligned_free<U>(p); |
| 3647 | } |
| 3648 | |
| 3649 | template<typename U> |
| 3650 | static inline U* create() |