acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
aaa_synchronized_routine.h
1
#pragma once
2
3
//
6
//
7
//
8
// class sync_routine;
9
//
10
//
11
// inline ::pointer<sync_routine>___sync_routine(const ::procedure & procedure);
12
//
13
//
14
// class CLASS_DECL_ACME sync_routine :
15
// public ::synchronization// {
16
// protected:
17
//
18
// friend ::pointer<sync_routine>___sync_routine(const ::procedure &routine);
19
//
20
//
21
// sync_routine(const ::procedure & procedure) :
22
// m_procedure(routine)
23
// {
24
//
25
// __defer_construct(m_phappeningCompletion);
26
//
27
// }
28
//
29
//
30
// public:
31
//
32
//
33
// routine m_procedure;
34
// ::pointer<manual_reset_happening> m_phappeningCompletion;
35
// ::duration m_duration;
36
// void m_estatus;
37
//
38
//
39
// virtual ~sync_routine() {}
40
//
41
//
42
// inline virtual void operator()() override
43
// {
44
//
45
// m_estatus = m_procedure();
46
//
47
// m_phappeningCompletion->set_happening();
48
//
49
// return m_estatus;
50
//
51
// }
52
//
53
//
54
// virtual synchronization_result wait(const duration &durationTimeout) override
55
// {
56
//
57
// return m_phappeningCompletion->wait(durationTimeout);
58
//
59
// }
60
//
61
//
62
// };
63
//
64
//
65
// inline ::pointer<sync_routine>___sync_routine(const ::procedure & procedure)
66
// {
67
//
68
// return allocateø sync_routine(routine);
69
//
70
// }
71
//
72
//
74
//
75
//
76
//
parallelization
aaa_synchronized_routine.h
Generated by
1.17.0