00027 {
00028 os << v.size() << " client(s)";
00029 for (unsigned int i=0; i<v.size(); i++)
00030 {
00031 os << (i==0 ? ": " : ", ");
00032 if (dynamic_cast<cModule*>(v[i]))
00033 {
00034 cModule *mod = dynamic_cast<cModule*>(v[i]);
00035 os << "mod (" << mod->className() << ")" << mod->fullName() << " id=" << mod->id();
00036 }
00037 else if (dynamic_cast<cPolymorphic*>(v[i]))
00038 {
00039 cPolymorphic *obj = dynamic_cast<cPolymorphic*>(v[i]);
00040 os << "a " << obj->className();
00041 }
00042 else
00043 {
00044 os << "a " << opp_typename(typeid(v[i]));
00045 }
00046 }
00047 return os;
00048 }