21 #define _KERNEL_HPP_ 1
26 #include "signalvars.hpp"
27 #include "rafttypes.hpp"
39 virtual raft::kernel* clone()\
41 return( new typename std::remove_reference< decltype( *this ) >::type( ( *(\
42 (typename std::decay< decltype( *this ) >::type * ) \
56 const std::size_t nbytes );
58 virtual ~
kernel() =
default;
68 virtual raft::kstatus
run() = 0;
73 static kernel* make( Args&&... params )
75 return(
new T( std::forward< Args >( params )... ) );
101 Port output = {
this };
104 friend class ::MapBase;
105 friend class ::Schedule;
106 friend class ::GraphTools;
116 const std::size_t kernel_id;
Port input
Definition: kernel.hpp:100
kernel()
Definition: kernel.cpp:11
Definition: mapbase.hpp:98
virtual raft::kstatus run()=0
virtual raft::kernel * clone()
Definition: kernel.hpp:87
Definition: schedule.hpp:31
Definition: kernel.hpp:48
Definition: globalmap.cpp:3
static std::size_t kernel_count
Definition: kernel.hpp:113