enum {INTEGER = 0, REAL, STRING} struct DataField { int type; if (type = INTEGER) int data if (type = REAL) float data if (type = STRING) std::string data }