1 #ifndef __bbstdCast_h_INCLUDED__
2 #define __bbstdCast_h_INCLUDED__
4 #include "bbtkAtomicBlackBox.h"
9 //=================================================================
10 // UserBlackBox declaration
11 template <class T, class U>
12 class Cast : public bbtk::AtomicBlackBox
14 BBTK_USER_BLACK_BOX_INTERFACE(Cast,bbtk::AtomicBlackBox);
15 BBTK_DECLARE_INPUT(In,T);
16 BBTK_DECLARE_OUTPUT(Out,U);
19 bbtkDebugMessage("Data",5,"bbstd::Cast In = "
20 <<bbGetInputIn()<<" <"<<bbtk::HumanTypeName<T>()
22 bbSetOutputOut( (U)bbGetInputIn() );
23 bbtkDebugMessage("Data",5,"bbstd::Cast Out = "
24 <<(U)bbGetInputIn()<<" <"<<bbtk::HumanTypeName<U>()
28 //=================================================================
33 //=================================================================
34 // UserBlackBox description
35 BBTK_BEGIN_DESCRIBE_TEMPLATE2_BLACK_BOX(Cast);
36 BBTK_NAME("Cast<"+bbtk::TypeName<T1>()+","+bbtk::TypeName<T2>()+">");
37 BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
38 BBTK_DESCRIPTION("Casts a "+bbtk::TypeName<T1>()+" into a "+bbtk::TypeName<T2>());
39 BBTK_DEFAULT_ADAPTOR();
40 BBTK_TEMPLATE2_INPUT(Cast,In,"Input",T1);
41 BBTK_TEMPLATE2_OUTPUT(Cast,Out,"Output",T2);
42 BBTK_END_DESCRIBE_TEMPLATE2_BLACK_BOX(Cast);
43 //=================================================================
48 #endif // __bbstdCast_h_INCLUDED__