+#include "bbstdCast.h"
+#include "bbstdPackage.h"
+
+namespace bbstd
+{
+
+ //====================================================================
+ BBTK_USER_BLACK_BOX_TEMPLATE2_IMPLEMENTATION(Cast,
+ bbtk::AtomicBlackBox);
+ //====================================================================
+
+ //====================================================================
+ // Add the instanciated adaptors to the package
+ //typedef unsigned char uchar;
+
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,int8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,double);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,uint8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,double);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,int16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,double);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,uint16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,double);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,int32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,double);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,uint32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,double);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double,float);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,double);
+
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,double);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,double, bool);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,float);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float, bool);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,uint32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t, bool);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,int32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t, bool);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,uint16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t, bool);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,int16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t, bool);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,uint8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t, bool);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,bool,int8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t, bool);
+
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,int8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,float);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,uint8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,float);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,int16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,float);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,uint16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,float);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,int32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,float);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,float,uint32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,float);
+
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,int8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,int32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,uint8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,int32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,int16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,int32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,uint16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,int32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int32_t,uint32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,int32_t);
+
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,int8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,uint32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,uint8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,uint32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,int16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,uint32_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint32_t,uint16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,uint32_t);
+
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,int8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,uint16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,uint8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,uint16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint16_t,int16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,uint16_t);
+
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,int8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,int16_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int16_t,uint8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,int16_t);
+
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,int8_t);
+ BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,uint8_t);
+
+ //====================================================================
+
+
+} // namespace bbstd