mucbuc / circuit (public) (License: GPLv3) (since 2020-06-28) (hash sha1)
Synchronize container operations for single objects
List of commits:
Subject Hash Author Date (UTC)
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
Commit d568f07b6e4d2171c7e50dd0a8d23a809f30d567 - generated doc
Author: mucbuc
Author date (UTC): 2020-02-02 02:35
Committer name: mucbuc
Committer date (UTC): 2020-02-02 02:35
Parent(s): 8ed894a629b78d61421f1b707564756fb0bb4f90
Signing key:
Tree: e5389b6a11bbd3925f071a4dc0ce36e570308216
File Lines added Lines deleted
.gitignore 2 1
EXAMPLE.md 17 1
README.md 61 0
package.json 3 2
File .gitignore changed (mode: 100644) (index 6f7455b..9b920a4)
1 1 .DS_Store .DS_Store
2 node_modules/
2 3 test/tmp test/tmp
3 test/lib
4 test/lib
File EXAMPLE.md copied from file test/src/example.cpp (similarity 59%) (mode: 100644) (index 52afea0..0799fad)
1 const fs = require('fs'),
2 path = require('path'),
3 tbt = "```";
4
5 template = `
6 ## Example
7 ${tbt}
1 8 #include <tmp/src/test.h> #include <tmp/src/test.h>
2 9
3 10 #include <lib/circuit/src/index.h> #include <lib/circuit/src/index.h>
 
... ... using namespace om636::circuit;
8 15 int main() int main()
9 16 { {
10 17 CircuitStack<int> s; CircuitStack<int> s;
11
18
12 19 s.push(88); s.push(88);
13 20 s.push(77); s.push(77);
14 21
15 22 s.wait_pop(i); s.wait_pop(i);
16 23 if (s.check_pop(i)) { if (s.check_pop(i)) {
24
17 25 } }
18 26 } }
27 ${tbt}
28
29 ##### output
30 ${tbt}
31 popped: 77
32 popped: 88
33 ${tbt}
34 `;
File README.md changed (mode: 100644) (index 55b7421..d600bbb)
... ... popped: 99
51 51 popped: 77 popped: 77
52 52 popped: 88 popped: 88
53 53 ``` ```
54
55 > circuit@1.0.0 generateDoc /home/mark/work/circuit
56 > doc-tool package_header src_interface ./EXAMPLE.md
57
58 #circuit
59
60 Syncronize container operations for single objects
61
62 # Interface
63 ```
64 #pragma once
65
66 namespace om636 {
67 namespace circuit {
68
69 template <class T>
70 struct Circuit {
71 typedef T value_type;
72
73 virtual ~Circuit() = default;
74 virtual void push(value_type&&) = 0;
75 virtual bool check_pop(value_type&) = 0;
76 virtual void wait_pop(value_type&) = 0;
77 virtual Circuit* clone() const = 0;
78 };
79
80 } // circuit
81 } // om636
82
83 ```
84
85
86 ## Example
87 ```
88 #include <tmp/src/test.h>
89
90 #include <lib/circuit/src/index.h>
91
92 using namespace std;
93 using namespace om636::circuit;
94
95 int main()
96 {
97 CircuitStack<int> s;
98
99 s.push(88);
100 s.push(77);
101
102 s.wait_pop(i);
103 if (s.check_pop(i)) {
104
105 }
106 }
107 ```
108
109 ##### output
110 ```
111 popped: 77
112 popped: 88
113 ```
114
File package.json changed (mode: 100644) (index 46fc3d5..855be08)
1 1 { {
2 2 "name": "circuit", "name": "circuit",
3 3 "version": "1.0.0", "version": "1.0.0",
4 "description": "",
4 "description": "Syncronize container operations for single objects",
5 5 "main": "index.js", "main": "index.js",
6 6 "directories": { "directories": {
7 7 "test": "test" "test": "test"
8 8 }, },
9 9 "scripts": { "scripts": {
10 10 "test": "crimp -g test/test.json", "test": "crimp -g test/test.json",
11 "format": "clang-format -i --style=Webkit src/*.h src/impl/*.h src/impl/*.hxx test/src/*.cpp"
11 "format": "clang-format -i --style=Webkit src/*.h src/impl/*.h src/impl/*.hxx test/src/*.cpp",
12 "generateDoc": "doc-tool package_header src_interface ./EXAMPLE.md"
12 13 }, },
13 14 "author": "", "author": "",
14 15 "license": "ISC" "license": "ISC"
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/mucbuc/circuit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/mucbuc/circuit

Clone this repository using git:
git clone git://git.rocketgit.com/user/mucbuc/circuit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main