6#ifndef INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_MEMORY_DESTROY_AT_HPP_
7#define INCLUDE_GUARD_ARENE_BASE_ARENE_BASE_MEMORY_DESTROY_AT_HPP_
12#include "arene/base/compiler_support/cpp14_inline.hpp"
13#include "arene/base/constraints/constraints.hpp"
14#include "arene/base/stdlib_choice/addressof.hpp"
15#include "arene/base/stdlib_choice/enable_if.hpp"
16#include "arene/base/stdlib_choice/is_array.hpp"
21namespace destroy_at_detail {
31 template <
typename T, constraints<std::enable_if_t<!std::is_array<T>::value>> =
nullptr>
32 void operator()(T* ptr)
const noexcept {
41 template <
typename T, constraints<std::enable_if_t<std::is_array<T>::value>> =
nullptr>
43 void operator()(T* ptr)
const noexcept {
46 for (
auto& element : *ptr) {
48 (*
this)(std::addressof(element));
Definition array_exceptions_disabled.cpp:11
ARENE_CPP14_INLINE_VARIABLE(destroy_at_detail::do_destroy_at, destroy_at)
Copyright 2026, Toyota Motor Corporation.
Definition array_exceptions_disabled.cpp:10