Audaspace
1.9.0
A high level audio library.
Toggle main menu visibility
Loading...
Searching...
No Matches
util
Barrier.h
Go to the documentation of this file.
1
/*******************************************************************************
2
* Copyright 2015-2016 Juan Francisco Crespo Galán
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
******************************************************************************/
16
17
#pragma once
18
24
25
#include "
Audaspace.h
"
26
27
#include <mutex>
28
#include <condition_variable>
29
30
AUD_NAMESPACE_BEGIN
34
class
Barrier
35
{
36
private
:
40
std::mutex m_mutex;
41
45
std::condition_variable m_condition;
46
50
unsigned
int
m_threshold;
51
55
unsigned
int
m_count;
56
60
unsigned
int
m_generation;
61
62
// delete copy constructor and operator=
63
Barrier(
const
Barrier&) =
delete
;
64
Barrier& operator=(
const
Barrier&) =
delete
;
65
public
:
70
Barrier
(
unsigned
int
count);
71
virtual
~Barrier();
72
76
void
wait
();
77
};
78
AUD_NAMESPACE_END
Audaspace.h
The main header file of the library defining the namespace and basic data types.
AUD_NAMESPACE_END
#define AUD_NAMESPACE_END
Closes the audaspace namespace aud.
Definition
Audaspace.h:119
AUD_NAMESPACE_BEGIN
#define AUD_NAMESPACE_BEGIN
Opens the audaspace namespace aud.
Definition
Audaspace.h:116
Barrier::Barrier
Barrier(unsigned int count)
Creates a new Barrier object.
Barrier::wait
void wait()
Makes the caller thread wait until enough threads are stopped by this method.
Generated by
1.17.0