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;
248 unique_lock<mutex> __lk(__base.__mut_);
249 if (__base.__state_ & __base.__write_entered_)
253 cv_status __status = __base.__gate1_.wait_until(__lk, __abs_time);
254 if ((__base.__state_ & __base.__write_entered_) == 0)
260 __base.__state_ |= __base.__write_entered_;
261 if (__base.__state_ & __base.__n_readers_)
265 cv_status __status = __base.__gate2_.wait_until(__lk, __abs_time);
266 if ((__base.__state_ & __base.__n_readers_) == 0)
270 __base.__state_ &= ~__base.__write_entered_;
271 __base.__gate1_.notify_all();
284 unique_lock<mutex> __lk(__base.__mut_);
285 …if ((__base.__state_ & __base.__write_entered_) || (__base.__state_ & __base.__n_readers_) == __ba…
289 cv_status status = __base.__gate1_.wait_until(__lk, __abs_time);
290 if ((__base.__state_ & __base.__write_entered_) == 0 &&
291 … (__base.__state_ & __base.__n_readers_) < __base.__n_readers_)
297 unsigned __num_readers = (__base.__state_ & __base.__n_readers_) + 1;
298 __base.__state_ &= ~__base.__n_readers_;
299 __base.__state_ |= __num_readers;