| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 18ac8b3 commit a5f3628
9 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -31,7 +31,7 @@ class Events; | |||
| 31 | 31 | template <typename D, typename E> | |
| 32 | 32 | class EventSource; | |
| 33 | 33 | ||
| 34 | - enum class EventToken; | ||
| 34 | + enum class Token; | ||
| 35 | 35 | ||
| 36 | 36 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 37 | 37 | /// Iterate | |
@@ -42,9 +42,7 @@ template | |||
| 42 | 42 | typename E, | |
| 43 | 43 | typename V, | |
| 44 | 44 | typename FIn, | |
| 45 | - typename S = std::decay<V>::type, | ||
| 46 | - class = std::enable_if< | ||
| 47 | - ! std::is_same<E,EventToken>::value>::type | ||
| 45 | + typename S = std::decay<V>::type | ||
| 48 | 46 | > | |
| 49 | 47 | auto Iterate(const Events<D,E>& events, V&& init, FIn&& func) | |
| 50 | 48 | -> Signal<D,S> | |
@@ -58,28 +56,6 @@ auto Iterate(const Events<D,E>& events, V&& init, FIn&& func) | |||
| 58 | 56 | std::forward<V>(init), events.NodePtr(), std::forward<FIn>(func))); | |
| 59 | 57 | } | |
| 60 | 58 | ||
| 61 | - // Token stream version | ||
| 62 | - template | ||
| 63 | - < | ||
| 64 | - typename D, | ||
| 65 | - typename V, | ||
| 66 | - typename FIn, | ||
| 67 | - typename S = std::decay<V>::type | ||
| 68 | - > | ||
| 69 | - auto Iterate(const Events<D,EventToken>& events, V&& init, FIn&& func) | ||
| 70 | - -> Signal<D,S> | ||
| 71 | - { | ||
| 72 | - using REACT_IMPL::IterateNode; | ||
| 73 | - using REACT_IMPL::AddDummyArgWrapper; | ||
| 74 | - | ||
| 75 | - using F = std::decay<FIn>::type; | ||
| 76 | - using WrapperT = AddDummyArgWrapper<EventToken,F,S,S>; | ||
| 77 | - | ||
| 78 | - return Signal<D,S>( | ||
| 79 | - std::make_shared<IterateNode<D,S,EventToken,WrapperT>>( | ||
| 80 | - std::forward<V>(init), events.NodePtr(), WrapperT{ 0, std::forward<FIn>(func) })); | ||
| 81 | - } | ||
| 82 | - | ||
| 83 | 59 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 84 | 60 | /// IterateByRef - Pass current value as reference | |
| 85 | 61 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
@@ -103,28 +79,6 @@ auto IterateByRef(const Events<D,E>& events, V&& init, FIn&& func) | |||
| 103 | 79 | std::forward<V>(init), events.NodePtr(), std::forward<FIn>(func))); | |
| 104 | 80 | } | |
| 105 | 81 | ||
| 106 | - // Token stream version | ||
| 107 | - template | ||
| 108 | - < | ||
| 109 | - typename D, | ||
| 110 | - typename V, | ||
| 111 | - typename FIn, | ||
| 112 | - typename S = std::decay<V>::type | ||
| 113 | - > | ||
| 114 | - auto IterateByRef(const Events<D,EventToken>& events, V&& init, FIn&& func) | ||
| 115 | - -> Signal<D,S> | ||
| 116 | - { | ||
| 117 | - using REACT_IMPL::IterateByRefNode; | ||
| 118 | - using REACT_IMPL::AddDummyArgWrapper; | ||
| 119 | - | ||
| 120 | - using F = std::decay<FIn>::type; | ||
| 121 | - using WrapperT = AddDummyArgWrapper<EventToken,F,void,S>; | ||
| 122 | - | ||
| 123 | - return Signal<D,S>( | ||
| 124 | - std::make_shared<IterateByRefNode<D,S,EventToken,WrapperT>>( | ||
| 125 | - std::forward<V>(init), events.NodePtr(), WrapperT{ 0, std::forward<FIn>(func) })); | ||
| 126 | - } | ||
| 127 | - | ||
| 128 | 82 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 129 | 83 | /// Hold | |
| 130 | 84 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
@@ -209,10 +163,10 @@ template | |||
| 209 | 163 | typename S | |
| 210 | 164 | > | |
| 211 | 165 | auto Changed(const Signal<D,S>& target) | |
| 212 | - -> Events<D,EventToken> | ||
| 166 | + -> Events<D,Token> | ||
| 213 | 167 | { | |
| 214 | 168 | return Monitor(target) | |
| 215 | - .Transform([] (const S& v) { return EventToken::token; }); | ||
| 169 | + .Transform([] (const S& v) { return Token::token; }); | ||
| 216 | 170 | } | |
| 217 | 171 | ||
| 218 | 172 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
@@ -225,12 +179,12 @@ template | |||
| 225 | 179 | typename S = std::decay<V>::type | |
| 226 | 180 | > | |
| 227 | 181 | auto ChangedTo(const Signal<D,S>& target, V&& value) | |
| 228 | - -> Events<D,EventToken> | ||
| 182 | + -> Events<D,Token> | ||
| 229 | 183 | { | |
| 230 | 184 | return Monitor(target) | |
| 231 | 185 | .Transform([=] (const S& v) { return v == value; }) | |
| 232 | 186 | .Filter([] (bool v) { return v == true; }) | |
| 233 | - .Transform([=] (const S& v) { return EventToken::token; }) | ||
| 187 | + .Transform([=] (const S& v) { return Token::token; }) | ||
| 234 | 188 | } | |
| 235 | 189 | ||
| 236 | 190 | /******************************************/ REACT_END /******************************************/ | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -52,7 +52,7 @@ class EventSource; | |||
| 52 | 52 | template <typename D, typename E, typename TOp> | |
| 53 | 53 | class TempEvents; | |
| 54 | 54 | ||
| 55 | - enum class EventToken; | ||
| 55 | + enum class Token; | ||
| 56 | 56 | ||
| 57 | 57 | using REACT_IMPL::TurnFlagsT; | |
| 58 | 58 | ||
@@ -79,10 +79,10 @@ class DomainBase | |||
| 79 | 79 | template <typename S> | |
| 80 | 80 | using VarSignalT = VarSignal<D,S>; | |
| 81 | 81 | ||
| 82 | - template <typename E = EventToken> | ||
| 82 | + template <typename E = Token> | ||
| 83 | 83 | using EventsT = Events<D,E>; | |
| 84 | 84 | ||
| 85 | - template <typename E = EventToken> | ||
| 85 | + template <typename E = Token> | ||
| 86 | 86 | using EventSourceT = EventSource<D,E>; | |
| 87 | 87 | ||
| 88 | 88 | using ObserverT = Observer<D>; | |
@@ -152,7 +152,7 @@ class DomainBase | |||
| 152 | 152 | } | |
| 153 | 153 | ||
| 154 | 154 | static auto MakeEventSource() | |
| 155 | - -> EventSourceT<EventToken> | ||
| 155 | + -> EventSourceT<Token> | ||
| 156 | 156 | { | |
| 157 | 157 | return REACT::MakeEventSource<D>(); | |
| 158 | 158 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -29,17 +29,17 @@ template <typename D, typename ... TValues> | |||
| 29 | 29 | class SignalPack; | |
| 30 | 30 | ||
| 31 | 31 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 32 | - /// EventToken | ||
| 32 | + /// Token | ||
| 33 | 33 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 34 | - enum class EventToken { token }; | ||
| 34 | + enum class Token { value }; | ||
| 35 | 35 | ||
| 36 | 36 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 37 | 37 | /// Events | |
| 38 | 38 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 39 | 39 | template | |
| 40 | 40 | < | |
| 41 | 41 | typename D, | |
| 42 | - typename E = EventToken | ||
| 42 | + typename E = Token | ||
| 43 | 43 | > | |
| 44 | 44 | class Events : public REACT_IMPL::EventStreamBase<D,E> | |
| 45 | 45 | { | |
@@ -175,7 +175,7 @@ class Events<D,E&> : public REACT_IMPL::EventStreamBase<D,std::reference_wrapper | |||
| 175 | 175 | template | |
| 176 | 176 | < | |
| 177 | 177 | typename D, | |
| 178 | - typename E = EventToken | ||
| 178 | + typename E = Token | ||
| 179 | 179 | > | |
| 180 | 180 | class EventSource : public Events<D,E> | |
| 181 | 181 | { | |
@@ -205,10 +205,10 @@ class EventSource : public Events<D,E> | |||
| 205 | 205 | BaseT::emit(std::move(e)); | |
| 206 | 206 | } | |
| 207 | 207 | ||
| 208 | - template <class = std::enable_if<std::is_same<E,EventToken>::value>::type> | ||
| 208 | + template <class = std::enable_if<std::is_same<E,Token>::value>::type> | ||
| 209 | 209 | void Emit() const | |
| 210 | 210 | { | |
| 211 | - BaseT::emit(EventToken::token); | ||
| 211 | + BaseT::emit(Token::value); | ||
| 212 | 212 | } | |
| 213 | 213 | ||
| 214 | 214 | const EventSource& operator<<(const E& e) const | |
@@ -343,12 +343,12 @@ auto MakeEventSource() | |||
| 343 | 343 | ||
| 344 | 344 | template <typename D> | |
| 345 | 345 | auto MakeEventSource() | |
| 346 | - -> EventSource<D,EventToken> | ||
| 346 | + -> EventSource<D,Token> | ||
| 347 | 347 | { | |
| 348 | 348 | using REACT_IMPL::EventSourceNode; | |
| 349 | 349 | ||
| 350 | - return EventSource<D,EventToken>( | ||
| 351 | - std::make_shared<EventSourceNode<D,EventToken>>()); | ||
| 350 | + return EventSource<D,Token>( | ||
| 351 | + std::make_shared<EventSourceNode<D,Token>>()); | ||
| 352 | 352 | } | |
| 353 | 353 | ||
| 354 | 354 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
@@ -537,9 +537,7 @@ template | |||
| 537 | 537 | typename D, | |
| 538 | 538 | typename E, | |
| 539 | 539 | typename FIn, | |
| 540 | - typename ... TDepValues, | ||
| 541 | - class = std::enable_if< | ||
| 542 | - ! std::is_same<E,EventToken>::value>::type | ||
| 540 | + typename ... TDepValues | ||
| 543 | 541 | > | |
| 544 | 542 | auto Filter(const Events<D,E>& source, SignalPack<D,TDepValues...> depPack, FIn&& func) | |
| 545 | 543 | -> Events<D,E> | |
@@ -572,46 +570,6 @@ auto Filter(const Events<D,E>& source, SignalPack<D,TDepValues...> depPack, FIn& | |||
| 572 | 570 | depPack.Data); | |
| 573 | 571 | } | |
| 574 | 572 | ||
| 575 | - // Token stream version | ||
| 576 | - template | ||
| 577 | - < | ||
| 578 | - typename D, | ||
| 579 | - typename FIn, | ||
| 580 | - typename ... TDepValues | ||
| 581 | - > | ||
| 582 | - auto Filter(const Events<D,EventToken>& source, SignalPack<D,TDepValues...> depPack, FIn&& func) | ||
| 583 | - -> Events<D,EventToken> | ||
| 584 | - { | ||
| 585 | - using REACT_IMPL::SyncedEventFilterNode; | ||
| 586 | - using REACT_IMPL::AddDummyArgWrapper; | ||
| 587 | - | ||
| 588 | - using F = std::decay<FIn>::type; | ||
| 589 | - using WrapperT = AddDummyArgWrapper<EventToken,F,bool,const TDepValues...>; | ||
| 590 | - | ||
| 591 | - struct NodeBuilder_ | ||
| 592 | - { | ||
| 593 | - NodeBuilder_(const Events<D,EventToken>& source, WrapperT&& wrapper) : | ||
| 594 | - MySource{ source }, | ||
| 595 | - MyWrapper{ std::move(wrapper) } | ||
| 596 | - {} | ||
| 597 | - | ||
| 598 | - auto operator()(const Signal<D,TDepValues>& ... deps) | ||
| 599 | - -> Events<D,EventToken> | ||
| 600 | - { | ||
| 601 | - return Events<D,EventToken>( | ||
| 602 | - std::make_shared<SyncedEventFilterNode<D,EventToken,WrapperT,TDepValues ...>>( | ||
| 603 | - MySource.NodePtr(), std::move(MyWrapper), deps.NodePtr() ...)); | ||
| 604 | - } | ||
| 605 | - | ||
| 606 | - const Events<D,EventToken>& MySource; | ||
| 607 | - WrapperT&& MyWrapper; | ||
| 608 | - }; | ||
| 609 | - | ||
| 610 | - return REACT_IMPL::apply( | ||
| 611 | - NodeBuilder_{ source, WrapperT{ 0, std::forward<FIn>(func) } }, | ||
| 612 | - depPack.Data); | ||
| 613 | - } | ||
| 614 | - | ||
| 615 | 573 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 616 | 574 | /// Transform | |
| 617 | 575 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
@@ -664,9 +622,7 @@ template | |||
| 664 | 622 | typename TIn, | |
| 665 | 623 | typename FIn, | |
| 666 | 624 | typename ... TDepValues, | |
| 667 | - typename TOut = std::result_of<FIn(TIn,TDepValues...)>::type, | ||
| 668 | - class = std::enable_if< | ||
| 669 | - ! std::is_same<TIn,EventToken>::value>::type | ||
| 625 | + typename TOut = std::result_of<FIn(TIn,TDepValues...)>::type | ||
| 670 | 626 | > | |
| 671 | 627 | auto Transform(const Events<D,TIn>& source, SignalPack<D,TDepValues...> depPack, FIn&& func) | |
| 672 | 628 | -> Events<D,TOut> | |
@@ -699,49 +655,6 @@ auto Transform(const Events<D,TIn>& source, SignalPack<D,TDepValues...> depPack, | |||
| 699 | 655 | depPack.Data); | |
| 700 | 656 | } | |
| 701 | 657 | ||
| 702 | - // Token stream version | ||
| 703 | - template | ||
| 704 | - < | ||
| 705 | - typename D, | ||
| 706 | - typename FIn, | ||
| 707 | - typename ... TDepValues, | ||
| 708 | - typename TOut = std::result_of<FIn(TDepValues...)>::type | ||
| 709 | - > | ||
| 710 | - auto Transform(const Events<D,EventToken>& source, SignalPack<D,TDepValues...> depPack, FIn&& func) | ||
| 711 | - -> Events<D,TOut> | ||
| 712 | - { | ||
| 713 | - using REACT_IMPL::SyncedEventTransformNode; | ||
| 714 | - using REACT_IMPL::AddDummyArgWrapper; | ||
| 715 | - | ||
| 716 | - using F = std::decay<FIn>::type; | ||
| 717 | - using WrapperT = AddDummyArgWrapper<EventToken,F,TOut,const TDepValues...>; | ||
| 718 | - | ||
| 719 | - struct NodeBuilder_ | ||
| 720 | - { | ||
| 721 | - NodeBuilder_(const Events<D,EventToken>& source, WrapperT&& wrapper) : | ||
| 722 | - MySource{ source }, | ||
| 723 | - MyWrapper{ std::move(wrapper) } | ||
| 724 | - {} | ||
| 725 | - | ||
| 726 | - auto operator()(const Signal<D,TDepValues>& ... deps) | ||
| 727 | - -> Events<D,TOut> | ||
| 728 | - { | ||
| 729 | - return Events<D,TOut>( | ||
| 730 | - std::make_shared< | ||
| 731 | - SyncedEventTransformNode<D,EventToken,TOut,WrapperT,TDepValues ...>>( | ||
| 732 | - MySource.NodePtr(), std::move(MyWrapper), deps.NodePtr() ...)); | ||
| 733 | - } | ||
| 734 | - | ||
| 735 | - const Events<D,EventToken>& MySource; | ||
| 736 | - WrapperT&& MyWrapper; | ||
| 737 | - }; | ||
| 738 | - | ||
| 739 | - return REACT_IMPL::apply( | ||
| 740 | - NodeBuilder_{ | ||
| 741 | - source, WrapperT{ 0, std::forward<FIn>(func) } }, | ||
| 742 | - depPack.Data); | ||
| 743 | - } | ||
| 744 | - | ||
| 745 | 658 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
| 746 | 659 | /// Flatten | |
| 747 | 660 | /////////////////////////////////////////////////////////////////////////////////////////////////// | |
| Back | FazBrowse Home | New Git URL |
0 commit comments