³ò ”,9Mc@s#ddkZddd„ƒYZdS(iÿÿÿÿNtSetcBsÑeZdZdd„Zd„Zd„Zd„Zd„Zd„Z d„Z d„Z d „Z d „Z ed „Zd „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(s.The set class. It can contain mutable objects.cCsWg|_|oCx@|D]4}||ijot|ƒ|ii|ƒqqWndS(ssThe constructor. It can take any object giving an iterator as an optional argument to populate the new set.N(telemsthashtappend(tselftseqtelem((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__init__s  cCs dtitt|iƒdƒS(Ns set([%s])s, (tstringtjointmaptstrR(R((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__str__ scCs t|iƒS(sShallow copy of a set object.(RR(R((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pytcopy$scCs ||ijS(N(R(RR((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt __contains__(scCs t|iƒS(N(tlenR(R((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__len__+scCs |i|S(N(R(Rtindex((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt __getitem__.scCs|iS(s*Returns a list of the elements in the set.(R(R((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pytitems5scCs2||ijot|ƒ|ii|ƒndS(sAdd one element to the set.N(RRR(RR((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pytadd9s cCsAy|ii|ƒWn&tj otdt|ƒ‚nXdS(sJRemove an element from the set. Return an error if elem is not in the set.s%Object %s is not a member of the set.N(Rtremovet ValueErrort LookupErrorR (RR((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyR?scCs.y|ii|ƒWntj onXdS(sERemove an element from the set. Do nothing if elem is not in the set.N(RRR(RR((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pytdiscardFscCs|ii|ƒdS(N(Rtsort(Rtfunc((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyRMscCs t|iƒS(N(titerR(R((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__iter__QscCsE|iƒ}x2|iD]'}||jo|ii|ƒqqW|S(sUnion of two sets.(R RR(RtothertretR((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__or__Us    cCs1|iƒ}x|iD]}|i|ƒqW|S(sDifference of two sets.(R RR(RRRR((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__sub__]s   cCsEtƒ}x5|iD]*}||ijo|ii|ƒqqW|S(sIntersection of two sets.(RRR(RRRR((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__and__ds   cCs…tƒ}|iƒ}xE|iD]:}||ijo|ii|ƒq|ii|ƒqWx!|iD]}|ii|ƒqgW|S(s!Symmetric difference of two sets.(RR RRR(RRRttempR((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__add__ls    cCsItƒ}x9|iD].}t|d„|iƒ}|ii|ƒqW|S(sCartesian product of two sets.cSs ||fS(((Rts((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt~s(RRR textend(RRRtelemselftx((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__mul__zs   cCsƒt|iƒt|iƒjo\|iƒ}x6|iD]+}||ijo|i|ƒq5dSq5Wt|iƒdjSndSdS(sCReturns 1 if the lhs set is contained but not equal to the rhs set.iN(RRR R(RRR"R((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__lt__ƒs  cCsdt|iƒt|iƒjo=d}x,|iD]!}||ijo d}Pq/q/W|SndSdS(s5Returns 1 if the lhs set is contained in the rhs set.iiN(RR(RRRR((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__le__s  cCs?t|iƒt|iƒjodSnt||ƒdjSdS(s Returns 1 if the sets are equal.iN(RR(RR((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__eq__œscCs8|i|ƒodSn|i|ƒodSndSdS(s Returns 1 if the sets are equal.iÿÿÿÿiiN(R*(RR((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyt__cmp__£s N(t__name__t __module__t__doc__tNoneRR R RRRRRRRtcmpRRRR R!R#R)R*R+R,R-(((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyRs,                ((RR(((s?install/lib/scons-1.2.0.d20100117/SCons/compat/_scons_sets15.pyss