]> Creatis software - bbtk.git/blob - packages/std/src/bbstdRelay.h
Package descr
[bbtk.git] / packages / std / src / bbstdRelay.h
1 #ifndef __bbstdRelay_h_INCLUDED_H__
2 #define __bbstdRelay_h_INCLUDED_H__
3
4 #include "bbtkUserBlackBox.h"
5
6 namespace bbstd
7 {
8   template <class T>
9   class Relay
10     :
11     public bbtk::UserBlackBox
12   {
13     BBTK_USER_BLACK_BOX_INTERFACE(Relay,bbtk::UserBlackBox);
14        BBTK_DECLARE_INPUT(In,T);
15        BBTK_DECLARE_OUTPUT(Out,T);
16     BBTK_PROCESS(Process);
17   protected:
18     void Process() { bbSetOutputOut ( bbGetInputIn() ); }
19   };
20
21   BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX(Relay);
22   BBTK_NAME(bbtk::HumanTypeName<T>()+"Relay");
23   BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
24   BBTK_CATEGORY("misc");
25   BBTK_DESCRIPTION("Relays a "+bbtk::TypeName<T>());
26      BBTK_TEMPLATE_INPUT(Relay,In,"Input",T);
27      BBTK_TEMPLATE_OUTPUT(Relay,Out,"Output",T);
28   BBTK_END_DESCRIBE_TEMPLATE_BLACK_BOX(Relay);
29 }
30 // namespace bbstd
31
32 #endif // __bbstdRelay_h_INCLUDED_H__