//================ Copyright (c) 1996-2009 Valve Corporation. All Rights Reserved. ================= #include "cgutils.h" #include "tier0/dbg.h" struct DatatypeRec_t { CGtype type; CGparameterclass parameterClass; }; static DatatypeRec_t s_datatypeClassname[] = { #define CG_DATATYPE_MACRO(name, compiler_name, enum_name, base_enum, nrows, ncols,classname) \ { enum_name, classname }, #include #undef CG_DATATYPE_MACRO }; CGparameterclass vcgGetTypeClass( CGtype type ) { if( type <= CG_TYPE_START_ENUM || type > CG_TYPE_START_ENUM + sizeof( s_datatypeClassname ) / sizeof( s_datatypeClassname[0] ) ) { return CG_PARAMETERCLASS_UNKNOWN; } else { DatatypeRec_t & rec = s_datatypeClassname[type - CG_TYPE_START_ENUM - 1]; Assert( rec.type == type ); return rec.parameterClass; } }