/* * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ #pragma once #include "esp_heap_caps.h" #include #include "common/new.hpp" template inline T *New(uint32_t alloc_caps, Args &&...args) { void *p = heap_caps_calloc(1, sizeof(T), alloc_caps); if (p != nullptr) { return new (p) T(std::forward(args)...); } return nullptr; }