Init
This commit is contained in:
19
cppdraft/new/syn.md
Normal file
19
cppdraft/new/syn.md
Normal file
@@ -0,0 +1,19 @@
|
||||
[new.syn]
|
||||
|
||||
# 17 Language support library [[support]](./#support)
|
||||
|
||||
## 17.6 Dynamic memory management [[support.dynamic]](support.dynamic#new.syn)
|
||||
|
||||
### 17.6.2 Header <new> synopsis [new.syn]
|
||||
|
||||
// all freestandingnamespace std {// [[alloc.errors]](alloc.errors "17.6.4 Storage allocation errors"), storage allocation errorsclass bad_alloc; class bad_array_new_length; struct destroying_delete_t {explicit destroying_delete_t() = default; }; inline constexpr destroying_delete_t destroying_delete{}; // global operator new control enum class align_val_t : size_t {}; struct nothrow_t { explicit nothrow_t() = default; }; extern const nothrow_t nothrow; using new_handler = void (*)();
|
||||
new_handler get_new_handler() noexcept;
|
||||
new_handler set_new_handler(new_handler new_p) noexcept; // [[ptr.launder]](ptr.launder "17.6.5 Pointer optimization barrier"), pointer optimization barriertemplate<class T> constexpr T* launder(T* p) noexcept; // [[hardware.interference]](hardware.interference "17.6.6 Hardware interference size"), hardware interference sizeinline constexpr size_t hardware_destructive_interference_size = *implementation-defined*; inline constexpr size_t hardware_constructive_interference_size = *implementation-defined*;}// [[new.delete]](new.delete "17.6.3 Storage allocation and deallocation"), storage allocation and deallocationvoid* operator new(std::size_t size);void* operator new(std::size_t size, std::align_val_t alignment);void* operator new(std::size_t size, const std::nothrow_t&) noexcept;void* operator new(std::size_t size, std::align_val_t alignment, const std::nothrow_t&) noexcept;
|
||||
|
||||
void operator delete(void* ptr) noexcept;void operator delete(void* ptr, std::size_t size) noexcept;void operator delete(void* ptr, std::align_val_t alignment) noexcept;void operator delete(void* ptr, std::size_t size, std::align_val_t alignment) noexcept;void operator delete(void* ptr, const std::nothrow_t&) noexcept;void operator delete(void* ptr, std::align_val_t alignment, const std::nothrow_t&) noexcept;
|
||||
|
||||
void* operator new[](std::size_t size);void* operator new[](std::size_t size, std::align_val_t alignment);void* operator new[](std::size_t size, const std::nothrow_t&) noexcept;void* operator new[](std::size_t size, std::align_val_t alignment, const std::nothrow_t&) noexcept;
|
||||
|
||||
void operator delete[](void* ptr) noexcept;void operator delete[](void* ptr, std::size_t size) noexcept;void operator delete[](void* ptr, std::align_val_t alignment) noexcept;void operator delete[](void* ptr, std::size_t size, std::align_val_t alignment) noexcept;void operator delete[](void* ptr, const std::nothrow_t&) noexcept;void operator delete[](void* ptr, std::align_val_t alignment, const std::nothrow_t&) noexcept;
|
||||
|
||||
constexpr void* operator new (std::size_t size, void* ptr) noexcept;constexpr void* operator new[](std::size_t size, void* ptr) noexcept;void operator delete (void* ptr, void*) noexcept;void operator delete[](void* ptr, void*) noexcept;
|
||||
Reference in New Issue
Block a user