Lines Matching refs:__base
178 __shared_mutex_base __base;
180 shared_mutex() : __base() {}
187 _LIBCPP_INLINE_VISIBILITY void lock() { return __base.lock(); }
188 _LIBCPP_INLINE_VISIBILITY bool try_lock() { return __base.try_lock(); }
189 _LIBCPP_INLINE_VISIBILITY void unlock() { return __base.unlock(); }
192 _LIBCPP_INLINE_VISIBILITY void lock_shared() { return __base.lock_shared(); }
193 _LIBCPP_INLINE_VISIBILITY bool try_lock_shared() { return __base.try_lock_shared(); }
194 _LIBCPP_INLINE_VISIBILITY void unlock_shared() { return __base.unlock_shared(); }
197 // _LIBCPP_INLINE_VISIBILITY native_handle_type native_handle() { return __base::unlock_shared(…
204 __shared_mutex_base __base;
250 unique_lock<mutex> __lk(__base.__mut_);
251 if (__base.__state_ & __base.__write_entered_)
255 cv_status __status = __base.__gate1_.wait_until(__lk, __abs_time);
256 if ((__base.__state_ & __base.__write_entered_) == 0)
262 __base.__state_ |= __base.__write_entered_;
263 if (__base.__state_ & __base.__n_readers_)
267 cv_status __status = __base.__gate2_.wait_until(__lk, __abs_time);
268 if ((__base.__state_ & __base.__n_readers_) == 0)
272 __base.__state_ &= ~__base.__write_entered_;
273 __base.__gate1_.notify_all();
286 unique_lock<mutex> __lk(__base.__mut_);
287 …if ((__base.__state_ & __base.__write_entered_) || (__base.__state_ & __base.__n_readers_) == __ba…
291 cv_status status = __base.__gate1_.wait_until(__lk, __abs_time);
292 if ((__base.__state_ & __base.__write_entered_) == 0 &&
293 … (__base.__state_ & __base.__n_readers_) < __base.__n_readers_)
299 unsigned __num_readers = (__base.__state_ & __base.__n_readers_) + 1;
300 __base.__state_ &= ~__base.__n_readers_;
301 __base.__state_ |= __num_readers;