TYPEMAP ref_var* REF_VARIANT OUTPUT REF_VARIANT char* type = get_ref_type(*$var); if (std::strcmp(type,"macro")) { printf ("HEY"); macro* mac = new macro; mac = boost::get(&$var); printf("Macro class is %s",mac->get_class()); sv_setref_pv($arg,"macro",mac); } else { module* mod = new module; mod = boost::get(&$var); sv_setref_pv($arg,"module",mod); }