Revision control
++ // 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;
++ };
++ }