12345678910111213141516171819202122232425262728293031 |
- // Copyright 2009-2021 Intel Corporation
- // SPDX-License-Identifier: Apache-2.0
- #pragma once
- #include "mutex.h"
- namespace embree
- {
- class ConditionSys
- {
- public:
- ConditionSys();
- ~ConditionSys();
- void wait( class MutexSys& mutex );
- void notify_all();
- template<typename Predicate>
- __forceinline void wait( class MutexSys& mutex, const Predicate& pred )
- {
- while (!pred()) wait(mutex);
- }
- private:
- ConditionSys (const ConditionSys& other) DELETED; // do not implement
- ConditionSys& operator= (const ConditionSys& other) DELETED; // do not implement
- protected:
- void* cond;
- };
- }
|