Espacios de nombres
Variantes
Acciones

Archivo de encabezado de la biblioteca estándar <hazard_pointer> (C++26)

De cppreference.com
< cpp‎ | header
 
 
Archivos de encabezado de la biblioteca estándar
 

Este archivo de encabezado es parte de la biblioteca de apoyo de hilos/subprocesos.

Contenido

Clases

Permite que un objeto sea protegible contra riesgos.
(plantilla de clase)[editar]
Puntero multilector de un solo escritor que puede ser propiedad de, como máximo, un hilo en cualquier momento.
(clase)[editar]

Funciones

Construye un puntero de riesgo.
(función)[editar]
Especializa el algoritmo std::swap.
(plantilla de función)[editar]

[editar]Sinopsis

namespace std {// hazard_pointer_obj_basetemplate<class T, class D = default_delete<T>>class hazard_pointer_obj_base;   // hazard_pointerclass hazard_pointer;   // make_hazard_pointer hazard_pointer make_hazard_pointer();void swap(hazard_pointer&, hazard_pointer&)noexcept;}

[editar]Plantilla de clase std::hazard_pointer_obj_base

namespace std {template<class T, class D = default_delete<T>>class hazard_pointer_obj_base {public:void retire(D d = D())noexcept;protected: hazard_pointer_obj_base()=default; hazard_pointer_obj_base(const hazard_pointer_obj_base&)=default; hazard_pointer_obj_base(hazard_pointer_obj_base&&)=default; hazard_pointer_obj_base& operator=(const hazard_pointer_obj_base&)=default; hazard_pointer_obj_base& operator=(hazard_pointer_obj_base&&)=default; ~hazard_pointer_obj_base()=default;private: D deleter;// solo para exposición};}

[editar]Clase std::hazard_pointer

namespace std {class hazard_pointer {public: hazard_pointer()noexcept; hazard_pointer(hazard_pointer&&)noexcept; hazard_pointer& operator=(hazard_pointer&&)noexcept; ~hazard_pointer();   bool empty()constnoexcept;template<class T> T* protect(const atomic<T*>& src)noexcept;template<class T>bool try_protect(T*& ptr, const atomic<T*>& src)noexcept;template<class T>void reset_protection(const T* ptr)noexcept;void reset_protection(nullptr_t = nullptr)noexcept;void swap(hazard_pointer&)noexcept;};}
close