New.hpp 558 B

12345678910111213141516171819
  1. #ifndef CORE_NEW_HPP
  2. #define CORE_NEW_HPP
  3. using size_t = decltype(sizeof(0));
  4. struct NoThrow {
  5. explicit NoThrow() = default;
  6. };
  7. [[maybe_unused]] static constexpr NoThrow noThrow;
  8. void* operator new(size_t bytes, const NoThrow&) noexcept;
  9. void* operator new[](size_t bytes, const NoThrow&) noexcept;
  10. void operator delete(void* p) noexcept;
  11. void operator delete[](void* p) noexcept;
  12. void operator delete(void* p, size_t bytes) noexcept;
  13. void operator delete[](void* p, size_t bytes) noexcept;
  14. void* operator new(size_t bytes, void* p) noexcept;
  15. #endif