OnixS C++ CME MDP Conflated TCP Handler
1.3.6
API Documentation
Loading...
Searching...
No Matches
Guard.h
Go to the documentation of this file.
1
/*
2
* Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3
*
4
* This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5
* and international copyright treaties.
6
*
7
* Access to and use of the software is governed by the terms of the applicable OnixS Software
8
* Services Agreement (the Agreement) and Customer end user license agreements granting
9
* a non-assignable, non-transferable and non-exclusive license to use the software
10
* for it's own data processing purposes under the terms defined in the Agreement.
11
*
12
* Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13
* of this source code or associated reference material to any other location for further reproduction
14
* or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15
*
16
* Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17
* the terms of the Agreement is a violation of copyright law.
18
*/
19
20
#pragma once
21
22
#include <
OnixS/CME/ConflatedTCP/threading/Mutex.h
>
23
#include <
OnixS/CME/ConflatedTCP/threading/Semaphore.h
>
24
25
namespace
OnixS
{
26
namespace
CME
{
27
namespace
ConflatedTCP
{
28
namespace
Threading
{
29
31
template
<
class
Acquirable>
class
Guard
32
{
33
public
:
35
Guard
(Acquirable & acquirable)
36
: acquirable_(acquirable)
37
{
38
acquirable_.acquire();
39
}
40
42
~Guard
() {
43
acquirable_.release();
44
}
45
46
private
:
47
Acquirable & acquirable_;
48
49
Guard
(
const
Guard
&);
50
Guard
& operator = (
const
Guard
&);
51
};
52
53
// Aliases for guards for known synchronization objects.
54
55
typedef
Guard<Mutex>
MutexGuard
;
56
typedef
Guard<Semaphore>
SemaphoreGuard
;
57
}
58
}
59
}
60
}
Mutex.h
Semaphore.h
OnixS::CME::ConflatedTCP::Threading::Guard
Performs automatic acquisition and release of a synchronization object.
Definition
Guard.h:32
OnixS::CME::ConflatedTCP::Threading::Guard::~Guard
~Guard()
Releases the synchronization object upon destruction.
Definition
Guard.h:42
OnixS::CME::ConflatedTCP::Threading::Guard::Guard
Guard(Acquirable &acquirable)
Acquires the given synchronization object upon initialization.
Definition
Guard.h:35
OnixS::CME::ConflatedTCP::Threading
Definition
Condition.h:27
OnixS::CME::ConflatedTCP::Threading::MutexGuard
Guard< Mutex > MutexGuard
Definition
Guard.h:55
OnixS::CME::ConflatedTCP::Threading::SemaphoreGuard
Guard< Semaphore > SemaphoreGuard
Definition
Guard.h:56
OnixS::CME::ConflatedTCP
Definition
Defines.h:42
OnixS::CME
Definition
Defines.h:41
OnixS
Definition
Defines.h:40
OnixS
CME
ConflatedTCP
threading
Guard.h
Technical Support:
support@onixs.biz
Copyright © 2025 OnixS. All Rights Reserved.