From Jason Turner

[new.syn]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpozcdyake/{from.md → to.md} +11 -12
tmp/tmpozcdyake/{from.md → to.md} RENAMED
@@ -26,45 +26,44 @@ namespace std {
26
  using new_handler = void (*)();
27
  new_handler get_new_handler() noexcept;
28
  new_handler set_new_handler(new_handler new_p) noexcept;
29
 
30
  // [ptr.launder], pointer optimization barrier
31
- template<class T> [[nodiscard]] constexpr T* launder(T* p) noexcept;
32
 
33
  // [hardware.interference], hardware interference size
34
  inline constexpr size_t hardware_destructive_interference_size = implementation-defined{};
35
  inline constexpr size_t hardware_constructive_interference_size = implementation-defined{};
36
  }
37
 
38
  // [new.delete], storage allocation and deallocation
39
- [[nodiscard]] void* operator new(std::size_t size);
40
- [[nodiscard]] void* operator new(std::size_t size, std::align_val_t alignment);
41
- [[nodiscard]] void* operator new(std::size_t size, const std::nothrow_t&) noexcept;
42
- [[nodiscard]] void* operator new(std::size_t size, std::align_val_t alignment,
43
- const std::nothrow_t&) noexcept;
44
 
45
  void operator delete(void* ptr) noexcept;
46
  void operator delete(void* ptr, std::size_t size) noexcept;
47
  void operator delete(void* ptr, std::align_val_t alignment) noexcept;
48
  void operator delete(void* ptr, std::size_t size, std::align_val_t alignment) noexcept;
49
  void operator delete(void* ptr, const std::nothrow_t&) noexcept;
50
  void operator delete(void* ptr, std::align_val_t alignment, const std::nothrow_t&) noexcept;
51
 
52
- [[nodiscard]] void* operator new[](std::size_t size);
53
- [[nodiscard]] void* operator new[](std::size_t size, std::align_val_t alignment);
54
- [[nodiscard]] void* operator new[](std::size_t size, const std::nothrow_t&) noexcept;
55
- [[nodiscard]] void* operator new[](std::size_t size, std::align_val_t alignment,
56
  const std::nothrow_t&) noexcept;
57
 
58
  void operator delete[](void* ptr) noexcept;
59
  void operator delete[](void* ptr, std::size_t size) noexcept;
60
  void operator delete[](void* ptr, std::align_val_t alignment) noexcept;
61
  void operator delete[](void* ptr, std::size_t size, std::align_val_t alignment) noexcept;
62
  void operator delete[](void* ptr, const std::nothrow_t&) noexcept;
63
  void operator delete[](void* ptr, std::align_val_t alignment, const std::nothrow_t&) noexcept;
64
 
65
- [[nodiscard]] void* operator new (std::size_t size, void* ptr) noexcept;
66
- [[nodiscard]] void* operator new[](std::size_t size, void* ptr) noexcept;
67
  void operator delete (void* ptr, void*) noexcept;
68
  void operator delete[](void* ptr, void*) noexcept;
69
  ```
70
 
 
26
  using new_handler = void (*)();
27
  new_handler get_new_handler() noexcept;
28
  new_handler set_new_handler(new_handler new_p) noexcept;
29
 
30
  // [ptr.launder], pointer optimization barrier
31
+ template<class T> constexpr T* launder(T* p) noexcept;
32
 
33
  // [hardware.interference], hardware interference size
34
  inline constexpr size_t hardware_destructive_interference_size = implementation-defined{};
35
  inline constexpr size_t hardware_constructive_interference_size = implementation-defined{};
36
  }
37
 
38
  // [new.delete], storage allocation and deallocation
39
+ void* operator new(std::size_t size);
40
+ void* operator new(std::size_t size, std::align_val_t alignment);
41
+ void* operator new(std::size_t size, const std::nothrow_t&) noexcept;
42
+ void* operator new(std::size_t size, std::align_val_t alignment, const std::nothrow_t&) noexcept;
 
43
 
44
  void operator delete(void* ptr) noexcept;
45
  void operator delete(void* ptr, std::size_t size) noexcept;
46
  void operator delete(void* ptr, std::align_val_t alignment) noexcept;
47
  void operator delete(void* ptr, std::size_t size, std::align_val_t alignment) noexcept;
48
  void operator delete(void* ptr, const std::nothrow_t&) noexcept;
49
  void operator delete(void* ptr, std::align_val_t alignment, const std::nothrow_t&) noexcept;
50
 
51
+ void* operator new[](std::size_t size);
52
+ void* operator new[](std::size_t size, std::align_val_t alignment);
53
+ void* operator new[](std::size_t size, const std::nothrow_t&) noexcept;
54
+ void* operator new[](std::size_t size, std::align_val_t alignment,
55
  const std::nothrow_t&) noexcept;
56
 
57
  void operator delete[](void* ptr) noexcept;
58
  void operator delete[](void* ptr, std::size_t size) noexcept;
59
  void operator delete[](void* ptr, std::align_val_t alignment) noexcept;
60
  void operator delete[](void* ptr, std::size_t size, std::align_val_t alignment) noexcept;
61
  void operator delete[](void* ptr, const std::nothrow_t&) noexcept;
62
  void operator delete[](void* ptr, std::align_val_t alignment, const std::nothrow_t&) noexcept;
63
 
64
+ constexpr void* operator new (std::size_t size, void* ptr) noexcept;
65
+ constexpr void* operator new[](std::size_t size, void* ptr) noexcept;
66
  void operator delete (void* ptr, void*) noexcept;
67
  void operator delete[](void* ptr, void*) noexcept;
68
  ```
69