Path: blob/main/contrib/llvm-project/libcxx/include/__new/placement_new_delete.h
213766 views
//===----------------------------------------------------------------------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef _LIBCPP___NEW_PLACEMENT_NEW_DELETE_H9#define _LIBCPP___NEW_PLACEMENT_NEW_DELETE_H1011#include <__config>12#include <__cstddef/size_t.h>1314#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)15# pragma GCC system_header16#endif1718#if defined(_LIBCPP_ABI_VCRUNTIME)19# include <new.h>20#else21[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void*22operator new(std::size_t, void* __p) _NOEXCEPT {23return __p;24}25[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void*26operator new[](std::size_t, void* __p) _NOEXCEPT {27return __p;28}29inline _LIBCPP_HIDE_FROM_ABI void operator delete(void*, void*) _NOEXCEPT {}30inline _LIBCPP_HIDE_FROM_ABI void operator delete[](void*, void*) _NOEXCEPT {}31#endif3233#endif // _LIBCPP___NEW_PLACEMENT_NEW_DELETE_H343536