#ifndef HEPCOLUMNTYPE_H #define HEPCOLUMNTYPE_H // ---------------------------------------------------------------------- // // ColumnData.h - // // This define the family of getColumnDatat_t function that // map a C core type (float, int, etc ...) to their equivalent // in the ColumnData_t enum // // It is use in ColumnT and Column. // This are statics in an include file because they are meant to // be private but need to be share by a few source files. // Hence this h file is in the source directory! #ifndef FIXEDTYPES_H #include "ZMutility/FixedTypes.h" #endif ZM_USING_NAMESPACE( zmfxt ) /* using namespace zmfxt; */ #ifndef HEPCOLUMN_H #include "HepTuple/Column.h" #endif ZM_BEGIN_NAMESPACE( zmht ) /* namespace zmht { */ #ifdef ZMftInt1 static ColumnData_t getColumnData_t(Int1 val) {return Int1_ct;} #endif #ifdef ZMftInt2 static ColumnData_t getColumnData_t(Int2 val) {return Int2_ct;} #endif #ifdef ZMftInt4 static ColumnData_t getColumnData_t(Int4 val) {return Int4_ct;} #endif #ifdef ZMftInt8 static ColumnData_t getColumnData_t(Int8 val) {return Int8_ct;} #endif #ifdef ZMftUInt1 static ColumnData_t getColumnData_t(UInt1 val) {return Uint1_ct;} #endif #ifdef ZMftUInt2 static ColumnData_t getColumnData_t(UInt2 val) {return Uint2_ct;} #endif #ifdef ZMftUInt4 static ColumnData_t getColumnData_t(UInt4 val) {return Uint4_ct;} #endif #ifdef ZMftUInt8 static ColumnData_t getColumnData_t(UInt8 val) {return Uint8_ct;} #endif #ifdef ZMftFloat4 static ColumnData_t getColumnData_t(Float4 val) {return Float4_ct;} #endif #ifdef ZMftFloat8 static ColumnData_t getColumnData_t(Float8 val) {return Float8_ct;} #endif #ifdef ZMftFloat16 static ColumnData_t getColumnData_t(Float16 val) {return Float16_ct;} #endif static ColumnData_t getColumnData_t(bool val) {return Bool_ct;} static ColumnData_t getColumnData_t(void* val) {return Ptr_ct;} ZM_END_NAMESPACE( zmht ) /* } // namespace zmht */ #endif // HEPCOLUMNTYPE_H