Lines Matching refs:Traits
14 template <typename Traits> class ConditionVariableBase;
15 template <typename Traits> class MutexBase;
66 template <typename Traits>
110 mutable typename Traits::MutexT mutex_;
113 template <typename Traits>
116 using ScopedLock = typename MutexBase<Traits>::ScopedLock;
128 typename Traits::CondT cond_;
172 template <typename Traits>
173 ConditionVariableBase<Traits>::ConditionVariableBase() { in ConditionVariableBase()
174 CHECK_EQ(0, Traits::cond_init(&cond_)); in ConditionVariableBase()
177 template <typename Traits>
178 ConditionVariableBase<Traits>::~ConditionVariableBase() { in ~ConditionVariableBase()
179 Traits::cond_destroy(&cond_); in ~ConditionVariableBase()
182 template <typename Traits>
183 void ConditionVariableBase<Traits>::Broadcast(const ScopedLock&) { in Broadcast()
184 Traits::cond_broadcast(&cond_); in Broadcast()
187 template <typename Traits>
188 void ConditionVariableBase<Traits>::Signal(const ScopedLock&) { in Signal()
189 Traits::cond_signal(&cond_); in Signal()
192 template <typename Traits>
193 void ConditionVariableBase<Traits>::Wait(const ScopedLock& scoped_lock) { in Wait()
194 Traits::cond_wait(&cond_, &scoped_lock.mutex_.mutex_); in Wait()
197 template <typename Traits>
198 MutexBase<Traits>::MutexBase() { in MutexBase()
199 CHECK_EQ(0, Traits::mutex_init(&mutex_)); in MutexBase()
202 template <typename Traits>
203 MutexBase<Traits>::~MutexBase() { in ~MutexBase()
204 Traits::mutex_destroy(&mutex_); in ~MutexBase()
207 template <typename Traits>
208 void MutexBase<Traits>::Lock() { in Lock()
209 Traits::mutex_lock(&mutex_); in Lock()
212 template <typename Traits>
213 void MutexBase<Traits>::Unlock() { in Unlock()
214 Traits::mutex_unlock(&mutex_); in Unlock()
217 template <typename Traits>
218 MutexBase<Traits>::ScopedLock::ScopedLock(const MutexBase& mutex) in ScopedLock()
220 Traits::mutex_lock(&mutex_.mutex_); in ScopedLock()
223 template <typename Traits>
224 MutexBase<Traits>::ScopedLock::ScopedLock(const ScopedUnlock& scoped_unlock) in ScopedLock()
227 template <typename Traits>
228 MutexBase<Traits>::ScopedLock::~ScopedLock() { in ~ScopedLock()
229 Traits::mutex_unlock(&mutex_.mutex_); in ~ScopedLock()
232 template <typename Traits>
233 MutexBase<Traits>::ScopedUnlock::ScopedUnlock(const ScopedLock& scoped_lock) in ScopedUnlock()
235 Traits::mutex_unlock(&mutex_.mutex_); in ScopedUnlock()
238 template <typename Traits>
239 MutexBase<Traits>::ScopedUnlock::~ScopedUnlock() { in ~ScopedUnlock()
240 Traits::mutex_lock(&mutex_.mutex_); in ~ScopedUnlock()