OnixS C++ CBOE CFE Binary Order Entry (BOE) Handler
1.12.0
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
#pragma once
20
21
#include <
OnixS/CboeCFE/Trading/BOE/Threading/Mutex.h
>
22
#include <
OnixS/CboeCFE/Trading/BOE/Threading/Semaphore.h
>
23
24
namespace
OnixS
{
25
namespace
CboeCFE
{
26
namespace
Trading
{
27
namespace
BOE
{
28
namespace
Threading
{
29
31
template
<
class
Acquirable>
32
class
Guard
33
{
34
public
:
36
Guard
(Acquirable &acquirable)
37
: acquirable_(acquirable)
38
{
39
acquirable_.acquire();
40
}
41
43
~Guard
()
44
{
45
acquirable_.release();
46
}
47
48
private
:
49
Acquirable &acquirable_;
50
51
Guard
(
const
Guard
&);
52
Guard
&operator=(
const
Guard
&);
53
};
54
55
// Aliases for guards for known synchronization objects.
56
57
typedef
Guard<Mutex>
MutexGuard
;
58
typedef
Guard<Semaphore>
SemaphoreGuard
;
59
60
}
61
}
62
}
63
}
64
}
Mutex.h
Semaphore.h
OnixS::CboeCFE::Trading::BOE::Threading::Guard
Performs automatic acquisition and release of a synchronization object.
Definition
Guard.h:33
OnixS::CboeCFE::Trading::BOE::Threading::Guard::~Guard
~Guard()
Releases the synchronization object upon destruction.
Definition
Guard.h:43
OnixS::CboeCFE::Trading::BOE::Threading::Guard::Guard
Guard(Acquirable &acquirable)
Acquires the given synchronization object upon initialization.
Definition
Guard.h:36
OnixS::CboeCFE::Trading::BOE::Threading
Definition
Condition.h:27
OnixS::CboeCFE::Trading::BOE::Threading::MutexGuard
Guard< Mutex > MutexGuard
Definition
Guard.h:57
OnixS::CboeCFE::Trading::BOE::Threading::SemaphoreGuard
Guard< Semaphore > SemaphoreGuard
Definition
Guard.h:58
OnixS::CboeCFE::Trading::BOE
Definition
BinaryMessage.h:36
OnixS::CboeCFE::Trading
Definition
BinaryMessage.h:34
OnixS::CboeCFE
Definition
BinaryMessage.h:32
OnixS
Definition
BinaryMessage.h:30
OnixS
CboeCFE
Trading
BOE
Threading
Guard.h
Technical Support:
support@onixs.biz
Copyright © 2025 OnixS. All Rights Reserved.