[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/lineCode/cpp.react/master/include/react/detail/EventBase.h [Back]  [Original]

//          Copyright Sebastian Jeckel 2014.
// Distributed under the Boost Software License, Version 1.0.
//    (See accompanying file LICENSE_1_0.txt or copy at
//          http://www.boost.org/LICENSE_1_0.txt)

#ifndef REACT_DETAIL_EVENTBASE_H_INCLUDED
#define REACT_DETAIL_EVENTBASE_H_INCLUDED

#pragma once

#include "react/detail/Defs.h"

#include 

#include "react/detail/ReactiveBase.h"
#include "react/detail/ReactiveInput.h"
#include "react/detail/graph/EventNodes.h"

/***************************************/ REACT_IMPL_BEGIN /**************************************/

///////////////////////////////////////////////////////////////////////////////////////////////////
/// EventStreamBase
///////////////////////////////////////////////////////////////////////////////////////////////////
template
<
    typename D,
    typename E
>
class EventStreamBase : public CopyableReactive
{
public:
    EventStreamBase() = default;
    EventStreamBase(const EventStreamBase&) = default;

    template 
    EventStreamBase(T&& t) :
        EventStreamBase::CopyableReactive( std::forward(t) )
    {}

protected:
    template 
    void emit(T&& e) const
    {
        DomainSpecificInputManager::Instance().AddInput(
            *reinterpret_cast(this->ptr_.get()),
            std::forward(e));
    }
};

/****************************************/ REACT_IMPL_END /***************************************/

#endif // REACT_DETAIL_EVENTBASE_H_INCLUDED

Web Proxy Viewer  |  New URL  |  Original Page