Searched defs:hb_atomic_ptr_t (Results 1 – 1 of 1) sorted by relevance
176 struct hb_atomic_ptr_t struct180 hb_atomic_ptr_t () = default; argument181 constexpr hb_atomic_ptr_t (T* v) : v (v) {} in hb_atomic_ptr_t() argument183 void init (T* v_ = nullptr) { set_relaxed (v_); } in init()184 void set_relaxed (T* v_) { hb_atomic_ptr_impl_set_relaxed (&v, v_); } in set_relaxed()185 T *get_relaxed () const { return (T *) hb_atomic_ptr_impl_get_relaxed (&v); } in get_relaxed()186 T *get_acquire () const { return (T *) hb_atomic_ptr_impl_get ((void **) &v); } in get_acquire()187 …, T *new_) const { return hb_atomic_ptr_impl_cmpexch ((void **) &v, (void *) old, (void *) new_); } in cmpexch()189 T * operator -> () const { return get_acquire (); } in operator ->()190 template <typename C> operator C * () const { return get_acquire (); } in operator C*()[all …]