Subject | Hash | Author | Date (UTC) |
---|---|---|---|
fix duped entries | 2afd4d8742f93c8146c32950b617e18d4a994c3c | mucbuc | 2020-02-02 02:37:16 |
generated doc | d568f07b6e4d2171c7e50dd0a8d23a809f30d567 | mucbuc | 2020-02-02 02:35:34 |
clone method | 8ed894a629b78d61421f1b707564756fb0bb4f90 | mucbuc | 2020-01-25 20:01:53 |
siplify example | d3f446eed13921445fd6f16f345e50e873a245e8 | mucbuc | 2020-01-24 14:44:36 |
Edited README.md | c4daca7870daa3a2bcc3cb3a56353b075feeea83 | mark | 2020-01-21 05:25:32 |
Edited README.md | dd5ec0c9fb495adc91a3446c6029e10cbca50741 | mark | 2020-01-21 05:23:48 |
Edited README.md | 7b965f28e6800858cb7250e4a838a11d99aa9146 | mark | 2020-01-21 05:22:23 |
README.md | b04ce36a75a1cc03f592f498320bcbd2487391e3 | Ubuntu | 2020-01-21 05:17:29 |
stack example | 10c89c204a6c7173da4cab531b023e49b43b282f | Ubuntu | 2020-01-21 05:10:05 |
rename namespace | 58de02fbcccc180ddbd895c03fe7615d85079fc2 | mucbuc | 2020-01-19 12:06:11 |
cleanup | 5ffc59ee2057db41384465ada3ce02da94928d83 | mucbuc | 2020-01-19 11:48:09 |
fixed swap | e79678e9a0f6c401bf6c75c073b4afb1d9c99239 | mucbuc | 2020-01-16 12:33:51 |
add unlock | ed0dd962bd7e1468faa3f74a6d61c6ba94b8db13 | mucbuc | 2020-01-12 16:43:19 |
documentaoion | 731b8bf31861113f070ee9e3613fdfbaef1e70a6 | mucbuc | 2020-01-12 15:46:29 |
index.h | 74aafab338206a3d3c02b7448852dbde831692dc | mucbuc | 2020-01-12 04:42:02 |
factory returns shared_ptr | 0d8ff1b381e3c7e275ebd99705853f54b100cdf9 | mucbuc | 2020-01-12 04:05:15 |
init | 01daaea5899ac77acb8ec0c15583573d78eb9f31 | mucbuc | 2020-01-12 03:10:36 |
File | Lines added | Lines deleted |
---|---|---|
README.md | 0 | 53 |
File README.md changed (mode: 100644) (index d600bbb..a67767f) | |||
1 | ## Objective | ||
2 | |||
3 | Syncronize container operations (for single objects) | ||
4 | |||
5 | ## Interface | ||
6 | |||
7 | ``` | ||
8 | namespace om636 { | ||
9 | namespace circuit { | ||
10 | |||
11 | template <class T> | ||
12 | struct Circuit { | ||
13 | typedef T value_type; | ||
14 | |||
15 | virtual ~Circuit() = default; | ||
16 | virtual void push(value_type&&) = 0; | ||
17 | virtual bool check_pop(value_type&) = 0; | ||
18 | virtual void wait_pop(value_type&) = 0; | ||
19 | }; | ||
20 | |||
21 | } // circuit | ||
22 | } // om636 | ||
23 | ``` | ||
24 | |||
25 | ## Example | ||
26 | ``` | ||
27 | #include <tmp/src/test.h> | ||
28 | |||
29 | #include <lib/circuit/src/index.h> | ||
30 | |||
31 | using namespace std; | ||
32 | using namespace om636::circuit; | ||
33 | |||
34 | int main() | ||
35 | { | ||
36 | CircuitStack<int> s; | ||
37 | |||
38 | s.push(88); | ||
39 | s.push(77); | ||
40 | |||
41 | s.wait_pop(i); | ||
42 | if (s.check_pop(i)) { | ||
43 | |||
44 | } | ||
45 | } | ||
46 | ``` | ||
47 | |||
48 | ##### output | ||
49 | ``` | ||
50 | popped: 99 | ||
51 | popped: 77 | ||
52 | popped: 88 | ||
53 | ``` | ||
54 | 1 | ||
55 | 2 | > circuit@1.0.0 generateDoc /home/mark/work/circuit | > circuit@1.0.0 generateDoc /home/mark/work/circuit |
56 | 3 | > doc-tool package_header src_interface ./EXAMPLE.md | > doc-tool package_header src_interface ./EXAMPLE.md |