groupBy

template groupBy(alias selector)
GroupByObservable!(selector, TObservable)
groupBy
(
TObservable
)
(
auto ref TObservable observable
)

Examples

1 auto sub = new SubjectObject!int;
2 
3 auto group = sub.groupBy!(n => n % 10);
4 
5 auto tester = new CounterObserver!(typeof(group).ElementType);
6 auto disposable = group.subscribe(tester);
7 
8 sub.put(0);
9 assert(tester.putCount == 1);
10 assert(tester.lastValue.key == 0);
11 
12 sub.put(10);
13 assert(tester.putCount == 1);
1 auto sub = new SubjectObject!string;
2 
3 auto group = sub.groupBy!(text => text);
4 
5 auto tester = new CounterObserver!(typeof(group).ElementType);
6 auto disposable = group.subscribe(tester);
7 
8 sub.put("A");
9 assert(tester.putCount == 1);
10 assert(tester.lastValue.key == "A");
11 
12 sub.put("B");
13 assert(tester.putCount == 2);
14 assert(tester.lastValue.key == "B");
15 
16 sub.put("XXX");
17 assert(tester.putCount == 3);
18 assert(tester.lastValue.key == "XXX");