--nextPart2615753.s6Drr66VaQ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Christian Ehrlicher wrote: >> You cannot compare two structs unless they provide operator=3D=3D. >> >> Since KResolverEntry doesn't, you cannot compare two KResolverResults. >> You're not supposed to, either, nor transform it into a set or vector. > >But when you export the class, you have to provide a complete class >interface with all functions implemented... No, I don't agree. Why should I provide functions that are not meant to be= =20 called, ever? >Also I don't know why you won't remove the export macro,=20 Because, if you do, the class becomes unusable outside libkdecore. Since=20 it's meant to be used, removing is out of the question. >bool KResolverEntry::operator =3D=3D(const KResolverEntry &) const; >and >inline uint qHash(KResolverEntry key); Ok, so operator=3D=3D will return false always and qHash will return 0? Wha= t's=20 the use? They are not comparable and they are not meant to be used in a set. I=20 still fail to see why we should create functions that are not meant to =20 be used by anyone, ever. >With this the compiler can generate a complete class (imo including >QSet). How about not generating QSet? It's not supposed to, since= =20 the set isn't supposed to exist. =2D-=20 Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org PGP/GPG: 0x6EF45358; fingerprint: E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358 5. Swa he g=C3=A9anhwearf t=C3=B3 timbran, and hwonne he c=C3=B3m, l=C3=A1!= Unix cw=C3=A6=C3=B0 "Hello,=20 World". =C7=BCfre =C7=BDghwilc w=C3=A6s gl=C3=A6d and seo woruld w=C3=A6s f= r=C3=A9o. --nextPart2615753.s6Drr66VaQ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQBDZPm5M/XwBW70U1gRAgqaAKDD5wNJAJOFOgl7F09n9UtfMpYtMACeOPb8 E7Iix0H5hEYJiBliybZk4aI= =Cqp3 -----END PGP SIGNATURE----- --nextPart2615753.s6Drr66VaQ--