[hazard.pointer.syn]

# 32 Concurrency support library [[thread]](./#thread)

## 32.11 Safe reclamation [[saferecl]](saferecl#hazard.pointer.syn)

### 32.11.3 Hazard pointers [[saferecl.hp]](saferecl.hp#hazard.pointer.syn)

#### 32.11.3.2 Header <hazard_pointer> synopsis [hazard.pointer.syn]

[ð](#header:%3chazard_pointer%3e)

namespace std {// [[saferecl.hp.base]](saferecl.hp.base "32.11.3.3 Class template hazard_­pointer_­obj_­base"), class template hazard_pointer_obj_basetemplate<class T, class D = default_delete<T>> class hazard_pointer_obj_base; // [[saferecl.hp.holder]](saferecl.hp.holder "32.11.3.4 Class hazard_­pointer"), class hazard_pointerclass hazard_pointer; // [[saferecl.hp.holder.nonmem]](saferecl.hp.holder.nonmem "32.11.3.4.4 Non-member functions"), non-member functions hazard_pointer make_hazard_pointer(); void swap(hazard_pointer&, hazard_pointer&) noexcept;}
