acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
multiple_lock.h
1
#pragma once
2
3
4
#include "acme/prototype/prototype/bits.h"
5
#include "synchronization_array.h"
6
7
8
class
CLASS_DECL_ACME multiple_lock
9
{
10
public
:
11
12
13
synchronization_array
& m_synchronizationa;
14
bits < ::u64 > m_bitsLocked;
15
16
17
multiple_lock(
synchronization_array
& synchronizationa,
bool
bInitialLock =
false
);
18
//multiple_lock(const synchronization_array & synca,bool bInitialLock = false);
19
//multiple_lock(::collection::count c, const synchronization_array & synca, bool bInitialLock = false);
20
~multiple_lock();
21
22
23
//void construct(const synchronization_array & synca,bool bInitialLock = false);
24
25
26
::e_status
lock(
const
class
time
& tickTimeout = ::time::infinity(),
bool
bWaitForAll =
true
, ::u32 dwWakeMask = 0);
27
void
unlock();
28
void
unlock(::i32 lCount, ::i32 * lPrevCount =
nullptr
);
29
bool
is_locked(::collection::index iItem);
30
31
32
};
33
34
35
e_status
Definition
e_status.h:30
synchronization_array
Definition
synchronization_array.h:54
time
Definition
aaa_time.h:13
parallelization
multiple_lock.h
Generated by
1.17.0