@@ -29,17 +29,17 @@ template <typename D, typename ... TValues>
2929class SignalPack ;
3030
3131// /////////////////////////////////////////////////////////////////////////////////////////////////
32- // / EventToken
32+ // / Token
3333// /////////////////////////////////////////////////////////////////////////////////////////////////
34- enum class EventToken { token };
34+ enum class Token { value };
3535
3636// /////////////////////////////////////////////////////////////////////////////////////////////////
3737// / Events
3838// /////////////////////////////////////////////////////////////////////////////////////////////////
3939template
4040<
4141 typename D,
42- typename E = EventToken
42+ typename E = Token
4343>
4444class Events : public REACT_IMPL ::EventStreamBase<D,E>
4545{
@@ -175,7 +175,7 @@ class Events<D,E&> : public REACT_IMPL::EventStreamBase<D,std::reference_wrapper
175175template
176176<
177177 typename D,
178- typename E = EventToken
178+ typename E = Token
179179>
180180class EventSource : public Events <D,E>
181181{
@@ -205,10 +205,10 @@ class EventSource : public Events<D,E>
205205 BaseT::emit (std::move (e));
206206 }
207207
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>
209209 void Emit () const
210210 {
211- BaseT::emit (EventToken::token );
211+ BaseT::emit (Token::value );
212212 }
213213
214214 const EventSource& operator <<(const E& e) const
@@ -343,12 +343,12 @@ auto MakeEventSource()
343343
344344template <typename D>
345345auto MakeEventSource ()
346- -> EventSource<D,EventToken >
346+ -> EventSource<D,Token >
347347{
348348 using REACT_IMPL ::EventSourceNode;
349349
350- return EventSource<D,EventToken >(
351- std::make_shared<EventSourceNode<D,EventToken >>());
350+ return EventSource<D,Token >(
351+ std::make_shared<EventSourceNode<D,Token >>());
352352}
353353
354354// /////////////////////////////////////////////////////////////////////////////////////////////////
@@ -537,9 +537,7 @@ template
537537 typename D,
538538 typename E,
539539 typename FIn,
540- typename ... TDepValues,
541- class = std::enable_if<
542- ! std::is_same<E,EventToken>::value>::type
540+ typename ... TDepValues
543541>
544542auto Filter (const Events<D,E>& source, SignalPack<D,TDepValues...> depPack, FIn&& func)
545543 -> Events<D,E>
@@ -572,46 +570,6 @@ auto Filter(const Events<D,E>& source, SignalPack<D,TDepValues...> depPack, FIn&
572570 depPack.Data );
573571}
574572
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-
615573// /////////////////////////////////////////////////////////////////////////////////////////////////
616574// / Transform
617575// /////////////////////////////////////////////////////////////////////////////////////////////////
@@ -664,9 +622,7 @@ template
664622 typename TIn,
665623 typename FIn,
666624 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
670626>
671627auto Transform (const Events<D,TIn>& source, SignalPack<D,TDepValues...> depPack, FIn&& func)
672628 -> Events<D,TOut>
@@ -699,49 +655,6 @@ auto Transform(const Events<D,TIn>& source, SignalPack<D,TDepValues...> depPack,
699655 depPack.Data );
700656}
701657
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-
745658// /////////////////////////////////////////////////////////////////////////////////////////////////
746659// / Flatten
747660// /////////////////////////////////////////////////////////////////////////////////////////////////
0 commit comments