Skip to content

Commit 6ce4440

Browse files
committed
refactor wip
1 parent 2a80216 commit 6ce4440

3 files changed

Lines changed: 84 additions & 162 deletions

File tree

examples/src/Main.cpp

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ template <typename T>
2222
class GridGraphGenerator
2323
{
2424
public:
25-
using SignalType = Signal<T, shared>;
25+
using SignalType = Signal<T>;
2626

2727
using Func1T = std::function<T(T)>;
2828
using Func2T = std::function<T(T, T)>;
@@ -37,7 +37,7 @@ class GridGraphGenerator
3737

3838
std::vector<size_t> widths;
3939

40-
void Generate(const ReactiveGroupBase& group)
40+
void Generate(const ReactiveGroup& group)
4141
{
4242
assert(inputSignals.size() >= 1);
4343
assert(widths.size() >= 1);
@@ -160,9 +160,9 @@ template <typename T> T IterFunc2(EventRange<T> evts, T v, T a1, T a2)
160160
return v + 1;
161161
}
162162

163-
int main()
163+
int main2()
164164
{
165-
ReactiveGroup<> group;
165+
ReactiveGroup group;
166166

167167
{
168168
// Signals
@@ -173,8 +173,8 @@ int main()
173173
Signal<int> area{ Multiply<int>, x, y };
174174
Signal<int> volume{ Multiply<int>, area, z };
175175

176-
Observer<> areaObs{ PrintArea<int>, area };
177-
Observer<> volumeObs{ PrintVolume<int>, volume };
176+
Observer areaObs{ PrintArea<int>, area };
177+
Observer volumeObs{ PrintVolume<int>, volume };
178178

179179
x.Set(2); // a: 0, v: 0
180180
y.Set(2); // a: 4, v: 0
@@ -198,7 +198,7 @@ int main()
198198
Event<int> anyButton = Merge(button1, button2);
199199
Event<int> filtered = Filter(FilterFunc<int>, anyButton);
200200

201-
Observer<> eventObs{ PrintEvents<int>, anyButton };
201+
Observer eventObs{ PrintEvents<int>, anyButton };
202202

203203
button1.Emit(1);
204204
button2.Emit(2);
@@ -217,7 +217,7 @@ int main()
217217

218218
SignalSlot<int> slot{ s1 };
219219

220-
Observer<> areaObs{ PrintValue<int>, slot };
220+
Observer areaObs{ PrintValue<int>, slot };
221221

222222
s1.Set(42);
223223

@@ -228,24 +228,24 @@ int main()
228228

229229
// Links
230230
{
231-
ReactiveGroup<> group1;
232-
ReactiveGroup<> group2;
231+
ReactiveGroup group1;
232+
ReactiveGroup group2;
233233

234234
VarSignal<int> s1{ group1, 10 };
235235
VarSignal<int> s2{ group2, 11 };
236236

237237
Signal<int> v{ Multiply<int>, s1, s2 };
238238

239-
Observer<> obs{ PrintValue<int>, v };
239+
Observer obs{ PrintValue<int>, v };
240240

241241
s1.Set(555);
242242

243243
std::this_thread::sleep_for(std::chrono::seconds(5));
244244
}
245245

246246
{
247-
ReactiveGroup<> group1;
248-
ReactiveGroup<> group2;
247+
ReactiveGroup group1;
248+
ReactiveGroup group2;
249249

250250
VarSignal<int> s1{ group1, 10 };
251251
VarSignal<int> s2{ group2, 11 };
@@ -260,17 +260,17 @@ int main()
260260
auto joined1 = Join(e1, e2);
261261
auto joined2 = Join(group1, e1, e2);
262262

263-
Observer<> eventObs1{ PrintEvents<int>, merged };
264-
Observer<> eventObs2{ group2, PrintSyncedEvents<int>, merged, s1, s2 };
263+
Observer eventObs1{ PrintEvents<int>, merged };
264+
Observer eventObs2{ group2, PrintSyncedEvents<int>, merged, s1, s2 };
265265

266266
e1.Emit(222);
267267

268268
std::this_thread::sleep_for(std::chrono::seconds(5));
269269
}
270270

271271
{
272-
ReactiveGroup<> group1;
273-
ReactiveGroup<> group2;
272+
ReactiveGroup group1;
273+
ReactiveGroup group2;
274274

275275
VarSignal<int> s1{ group1, 10 };
276276
VarSignal<int> s2{ group2, 11 };
@@ -301,8 +301,8 @@ int main()
301301
auto iter3 = Iterate<int>(group, 0, IterFunc2<int>, e1, s1, s2);
302302
auto iter4 = Iterate<int>(0, IterFunc2<int>, e1, s1, s2);
303303

304-
Observer<> eventObs{ PrintEvents<int>, merged };
305-
Observer<> eventObs2{ group2, PrintSyncedEvents<int>, merged, s1, s2 };
304+
Observer eventObs{ PrintEvents<int>, merged };
305+
Observer eventObs2{ group2, PrintSyncedEvents<int>, merged, s1, s2 };
306306

307307
e1.Emit(222);
308308

@@ -326,10 +326,10 @@ int main()
326326

327327
int main()
328328
{
329-
ReactiveGroup<> group;
329+
ReactiveGroup group;
330330

331-
VarSignal<int, shared> in{ group, 1 };
332-
Signal<int, shared> in2 = in;
331+
VarSignal<int> in{ group, 1 };
332+
Signal<int> in2 = in;
333333

334334
GridGraphGenerator<int> generator;
335335

@@ -376,9 +376,9 @@ int main()
376376

377377
/*int main2()
378378
{
379-
ReactiveGroup<> group1;
380-
ReactiveGroup<> group2;
381-
ReactiveGroup<> group3;
379+
ReactiveGroup group1;
380+
ReactiveGroup group2;
381+
ReactiveGroup group3;
382382
383383
VarSignal<int> x{ 0, group1 };
384384
VarSignal<int> y{ 0, group2 };
@@ -387,7 +387,7 @@ int main()
387387
Signal<int> area{ Multiply<int>, x, y };
388388
Signal<int> volume{ Multiply<int>, area, z };
389389
390-
Observer<> obs{ PrintAreaAndVolume, area, volume };
390+
Observer obs{ PrintAreaAndVolume, area, volume };
391391
392392
Signal<vector<int>> volumeHistory = Iterate<vector<int>>( vector<int>{ }, PushToVector, Monitor(volume));
393393
@@ -420,8 +420,8 @@ int main3()
420420
using namespace std;
421421
using namespace react;
422422
423-
ReactiveGroup<> group1;
424-
ReactiveGroup<> group2;
423+
ReactiveGroup group1;
424+
ReactiveGroup group2;
425425
426426
auto sig1 = VarSignal<int>( 10, group1 );
427427

include/react/Event.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ auto Merge(const ReactiveGroup& group, const Event<U1>& dep1, const Event<Us>& .
294294

295295
const auto& graphPtr = PrivateReactiveGroupInterface::GraphPtr(group);
296296

297-
return Event<E, unique>( CtorTag{ }, std::make_shared<EventMergeNode<E, U1, Us ...>>(
297+
return Event<E>( CtorTag{ }, std::make_shared<EventMergeNode<E, U1, Us ...>>(
298298
graphPtr, PrivateEventLinkNodeInterface::GetLocalNodePtr(graphPtr, dep1), PrivateEventLinkNodeInterface::GetLocalNodePtr(graphPtr, deps) ...));
299299
}
300300

@@ -316,7 +316,7 @@ auto Merge(const Event<U1>& dep1, const Event<Us>& ... deps) -> decltype(auto)
316316

317317
const auto& graphPtr = PrivateNodeInterface::GraphPtr(dep1);
318318

319-
return Event<E, unique>( CtorTag{ }, std::make_shared<EventMergeNode<E, U1, Us ...>>(
319+
return Event<E>( CtorTag{ }, std::make_shared<EventMergeNode<E, U1, Us ...>>(
320320
graphPtr, PrivateEventLinkNodeInterface::GetLocalNodePtr(graphPtr, dep1), PrivateEventLinkNodeInterface::GetLocalNodePtr(graphPtr, deps) ...));
321321
}
322322

0 commit comments

Comments
 (0)