//---------------------------------------------------------------------------- //---------------------------------------------------------------------------- bool SuifPrinterModule::print_stl(ostream& output, const ObjectWrapper &obj, const LString &name, int _indent,int deref = 0) { const Address what = obj.get_address(); const MetaClass* type = obj.get_meta_class(); int field_deref = deref?deref-1:0; output << type->get_instance_name() << '(' << type->get_meta_class_id() << ") "; if (name) output << ' ' << name << ' '; STLMetaClass *p = (STLMetaClass*) type; ListIterator* it = (ListIterator*) p->get_iterator(what); output << '[' << it->length() << "] "; if (it->current()) { //output << "{\n"; output << endl; //while (it->is_valid()) { for (; it->is_valid(); it->next()) { ObjectWrapper obj(it->current(), it->current_meta_class()); // const MetaClass* currentMetaClass = it->current_meta_class(); // const Address curAddr = it->current(); if (!obj.is_null()) { indent(output, _indent+istep); print2(output, obj, it->current_name(), _indent+istep, field_deref); } //it->next(); } //} // } while (it->is_valid()); indent(output, _indent); //output << "}\n"; } else output <<" {0x0}\n"; delete it; return true; }