| 243 | |
| 244 | private: |
| 245 | class __destroy_vector { |
| 246 | public: |
| 247 | _LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI __destroy_vector(vector& __vec) : __vec_(__vec) {} |
| 248 | |
| 249 | _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI void operator()() { |
| 250 | if (__vec_.__begin_ != nullptr) { |
| 251 | __vec_.clear(); |
| 252 | __vec_.__annotate_delete(); |
| 253 | __alloc_traits::deallocate(__vec_.__alloc_, __vec_.__begin_, __vec_.capacity()); |
| 254 | } |
| 255 | } |
| 256 | |
| 257 | private: |
| 258 | vector& __vec_; |
| 259 | }; |
| 260 | |
| 261 | public: |
| 262 | _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI ~vector() { __destroy_vector (*this)(); } |
no outgoing calls
no test coverage detected