// D import file generated from 'src/core/sync/barrier.d'
module core.sync.barrier;
public import core.sync.exception;
import core.sync.condition;
import core.sync.mutex;
class Barrier
{
	this(uint limit)
	in
	{
		assert(limit > 0);
	}
	do
	{
		m_lock = new Mutex;
		m_cond = new Condition(m_lock);
		m_group = 0;
		m_limit = limit;
		m_count = limit;
	}
	void wait();
	private
	{
		Mutex m_lock;
		Condition m_cond;
		uint m_group;
		uint m_limit;
		uint m_count;
	}
}
