Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/
Upload File :
Current File : //usr/lib/python2.7/_abcoll.pyc


|_c@sIdZddlmZmZddlZdddddd	d
ddd
ddddddgZdZdd%dYZdd&dYZej	e
defdYZdd'dYZdd(dYZ
d	d)dYZd
eee
fdYZej	edefdYZej	edeee
fdYZdefdYZdeefdYZdeefd YZdefd!YZd
efd"YZej	edeee
fd#YZej	eej	eej	eej	edefd$YZej	e dS(*sAbstract Base Classes (ABCs) for collections, according to PEP 3119.

DON'T USE THIS MODULE DIRECTLY!  The classes here should be imported
via collections; they are defined here only to alleviate certain
bootstrapping issues.  Unit tests are in test_collections.
i(tABCMetatabstractmethodNtHashabletIterabletIteratortSizedt	ContainertCallabletSett
MutableSettMappingtMutableMappingtMappingViewtKeysViewt	ItemsViewt
ValuesViewtSequencetMutableSequencecsCy!tfd|jDSWntk
r>t|SXdS(Nc3s|]}|jkVqdS(N(t__dict__(t.0tB(tattr(s/usr/lib/python2.7/_abcoll.pys	<genexpr>s(tanyt__mro__tAttributeErrorthasattr(tCR((Rs/usr/lib/python2.7/_abcoll.pyt_hasattrs!
cBs,eZeZedZedZRS(cCsdS(Ni((tself((s/usr/lib/python2.7/_abcoll.pyt__hash__#scCsy|tkruy<x5|jD]*}d|jkr|jdr?tSPqqWWqutk
rqt|ddrrtSquXntS(NR(RRRtTrueRtgetattrtNonetNotImplemented(tclsRR((s/usr/lib/python2.7/_abcoll.pyt__subclasshook__'s

(t__name__t
__module__Rt
__metaclass__RRtclassmethodR#(((s/usr/lib/python2.7/_abcoll.pyR scBs,eZeZedZedZRS(ccsxtrdVqWdS(N(tFalseR (R((s/usr/lib/python2.7/_abcoll.pyt__iter__:s	cCs&|tkr"t|dr"tSntS(NR)(RRRR!(R"R((s/usr/lib/python2.7/_abcoll.pyR#?s(R$R%RR&RR)R'R#(((s/usr/lib/python2.7/_abcoll.pyR7scBs/eZedZdZedZRS(cCs
tdS(N(t
StopIteration(R((s/usr/lib/python2.7/_abcoll.pytnextKscCs|S(N((R((s/usr/lib/python2.7/_abcoll.pyR)OscCs5|tkr1t|dr1t|dr1tSntS(NR+R)(RRRR!(R"R((s/usr/lib/python2.7/_abcoll.pyR#Rs(R$R%RR+R)R'R#(((s/usr/lib/python2.7/_abcoll.pyRIs	cBs,eZeZedZedZRS(cCsdS(Ni((R((s/usr/lib/python2.7/_abcoll.pyt__len__]scCs&|tkr"t|dr"tSntS(NR,(RRRR!(R"R((s/usr/lib/python2.7/_abcoll.pyR#as(R$R%RR&RR,R'R#(((s/usr/lib/python2.7/_abcoll.pyRZscBs,eZeZedZedZRS(cCstS(N(R((Rtx((s/usr/lib/python2.7/_abcoll.pyt__contains__lscCs&|tkr"t|dr"tSntS(NR.(RRRR!(R"R((s/usr/lib/python2.7/_abcoll.pyR#ps(R$R%RR&RR.R'R#(((s/usr/lib/python2.7/_abcoll.pyRiscBs,eZeZedZedZRS(cOstS(N(R((Rtargstkwds((s/usr/lib/python2.7/_abcoll.pyt__call__{scCs&|tkr"t|dr"tSntS(NR1(RRRR!(R"R((s/usr/lib/python2.7/_abcoll.pyR#s(R$R%RR&RR1R'R#(((s/usr/lib/python2.7/_abcoll.pyRxscBseZdZdZdZdZdZdZdZe	dZ
dZd	Zd
Z
dZdZdZd
ZRS(shA set is a finite, iterable container.

    This class provides concrete generic implementations of all
    methods except for __contains__, __iter__ and __len__.

    To override the comparisons (presumably for speed, as the
    semantics are fixed), all you have to do is redefine __le__ and
    then the other operations will automatically follow suit.
    cCsTt|tstSt|t|kr/tSx|D]}||kr6tSq6WtS(N(t
isinstanceRR!tlenR(R(Rtothertelem((s/usr/lib/python2.7/_abcoll.pyt__le__s
cCs8t|tstSt|t|ko7|j|S(N(R2RR!R3R6(RR4((s/usr/lib/python2.7/_abcoll.pyt__lt__scCst|tstS||kS(N(R2RR!(RR4((s/usr/lib/python2.7/_abcoll.pyt__gt__scCst|tstS||kS(N(R2RR!(RR4((s/usr/lib/python2.7/_abcoll.pyt__ge__scCs8t|tstSt|t|ko7|j|S(N(R2RR!R3R6(RR4((s/usr/lib/python2.7/_abcoll.pyt__eq__scCs||kS(N((RR4((s/usr/lib/python2.7/_abcoll.pyt__ne__scCs
||S(sConstruct an instance of the class from any iterable input.

        Must override this method if the class constructor signature
        does not accept an iterable for an input.
        ((R"tit((s/usr/lib/python2.7/_abcoll.pyt_from_iterablescs0t|tstSjfd|DS(Nc3s!|]}|kr|VqdS(N((Rtvalue(R(s/usr/lib/python2.7/_abcoll.pys	<genexpr>s(R2RR!R=(RR4((Rs/usr/lib/python2.7/_abcoll.pyt__and__scCs%x|D]}||krtSqWtS(N(R(R(RR4R>((s/usr/lib/python2.7/_abcoll.pyt
isdisjoints
cCs6t|tstSd||fD}|j|S(Ncss"|]}|D]}|Vq
qdS(N((Rtste((s/usr/lib/python2.7/_abcoll.pys	<genexpr>s(R2RR!R=(RR4tchain((s/usr/lib/python2.7/_abcoll.pyt__or__scsQtts4tts"tS|jn|jfd|DS(Nc3s!|]}|kr|VqdS(N((RR>(R4(s/usr/lib/python2.7/_abcoll.pys	<genexpr>s(R2RRR!R=(RR4((R4s/usr/lib/python2.7/_abcoll.pyt__sub__s
cCsDt|ts4t|ts"tS|j|}n||||BS(N(R2RRR!R=(RR4((s/usr/lib/python2.7/_abcoll.pyt__xor__s
cCstj}d|d}t|}d|d}||M}x>|D]6}t|}|||d>AdAdN}||M}qBW|dd}||M}||kr||d8}n|d	krd
}n|S(s+Compute the hash value of a set.

        Note that we don't define __hash__: not all sets are hashable.
        But if you define a hashable set type, its __hash__ should
        call this function.

        This must be compatible __eq__.

        All sets ought to compare equal if they contain the same
        elements, regardless of how they are implemented, and
        regardless of the order of the elements; so there's not much
        freedom for __eq__ or __hash__.  We match the algorithm used
        by the built-in frozenset type.
        iiiMriiM[I4?i
i6ii8#(tsystmaxintR3thash(RtMAXtMASKtnthR-thx((s/usr/lib/python2.7/_abcoll.pyt_hashs 	


	N(R$R%t__doc__R6R7R8R9R:R;R'R=R?R@RDRERFR RRO(((s/usr/lib/python2.7/_abcoll.pyRs		
											cBseeZedZedZdZdZdZdZdZ	dZ
dZRS(	cCs
tdS(sAdd an element.N(tNotImplementedError(RR>((s/usr/lib/python2.7/_abcoll.pytaddscCs
tdS(s8Remove an element.  Do not raise an exception if absent.N(RQ(RR>((s/usr/lib/python2.7/_abcoll.pytdiscardscCs,||krt|n|j|dS(s5Remove an element. If not a member, raise a KeyError.N(tKeyErrorRS(RR>((s/usr/lib/python2.7/_abcoll.pytremovescCsGt|}yt|}Wntk
r5tnX|j||S(s2Return the popped value.  Raise KeyError if empty.(titerR+R*RTRS(RR<R>((s/usr/lib/python2.7/_abcoll.pytpops


cCs3yxtr|jqWWntk
r.nXdS(s6This is slow (creates N new iterators!) but effective.N(RRWRT(R((s/usr/lib/python2.7/_abcoll.pytclear!s
	
cCs"x|D]}|j|qW|S(N(RR(RR<R>((s/usr/lib/python2.7/_abcoll.pyt__ior__)s
cCs&x||D]}|j|qW|S(N(RS(RR<R>((s/usr/lib/python2.7/_abcoll.pyt__iand__.scCsx||kr|jn[t|ts:|j|}nx7|D]/}||krc|j|qA|j|qAW|S(N(RXR2RR=RSRR(RR<R>((s/usr/lib/python2.7/_abcoll.pyt__ixor__3s

cCs;||kr|jnx|D]}|j|q W|S(N(RXRS(RR<R>((s/usr/lib/python2.7/_abcoll.pyt__isub__@s


(R$R%RRRRSRURWRXRYRZR[R\(((s/usr/lib/python2.7/_abcoll.pyR	s		
				
cBszeZedZddZdZdZdZdZ	dZ
dZdZdZ
d	Zd
ZRS(cCs
tdS(N(RT(Rtkey((s/usr/lib/python2.7/_abcoll.pyt__getitem__PscCs%y||SWntk
r |SXdS(N(RT(RR]tdefault((s/usr/lib/python2.7/_abcoll.pytgetTs
cCs)y||Wntk
r tSXtSdS(N(RTR(R(RR]((s/usr/lib/python2.7/_abcoll.pyR.Zs

cCs
t|S(N(RV(R((s/usr/lib/python2.7/_abcoll.pytiterkeysbsccsx|D]}||VqWdS(N((RR]((s/usr/lib/python2.7/_abcoll.pyt
itervalueses
ccs$x|D]}|||fVqWdS(N((RR]((s/usr/lib/python2.7/_abcoll.pyt	iteritemsis
cCs
t|S(N(tlist(R((s/usr/lib/python2.7/_abcoll.pytkeysmscCs!g|D]}|||f^qS(N((RR]((s/usr/lib/python2.7/_abcoll.pytitemspscCsg|D]}||^qS(N((RR]((s/usr/lib/python2.7/_abcoll.pytvaluessscCs5t|tstSt|jt|jkS(N(R2R
R!tdictRf(RR4((s/usr/lib/python2.7/_abcoll.pyR:yscCs||kS(N((RR4((s/usr/lib/python2.7/_abcoll.pyR;~sN(R$R%RR^R R`R.RaRbRcReRfRgRR:R;(((s/usr/lib/python2.7/_abcoll.pyR
Ns								cBs#eZdZdZdZRS(cCs
||_dS(N(t_mapping(Rtmapping((s/usr/lib/python2.7/_abcoll.pyt__init__scCs
t|jS(N(R3Ri(R((s/usr/lib/python2.7/_abcoll.pyR,scCs
dj|S(Ns&{0.__class__.__name__}({0._mapping!r})(tformat(R((s/usr/lib/python2.7/_abcoll.pyt__repr__s(R$R%RkR,Rm(((s/usr/lib/python2.7/_abcoll.pyRs		cBs)eZedZdZdZRS(cCs
t|S(N(tset(RR<((s/usr/lib/python2.7/_abcoll.pyR=scCs
||jkS(N(Ri(RR]((s/usr/lib/python2.7/_abcoll.pyR.sccsx|jD]}|Vq
WdS(N(Ri(RR]((s/usr/lib/python2.7/_abcoll.pyR)s(R$R%R'R=R.R)(((s/usr/lib/python2.7/_abcoll.pyR
s	cBs)eZedZdZdZRS(cCs
t|S(N(Rn(RR<((s/usr/lib/python2.7/_abcoll.pyR=scCs@|\}}y|j|}Wntk
r1tSX||kSdS(N(RiRTR((RtitemR]R>tv((s/usr/lib/python2.7/_abcoll.pyR.s
ccs*x#|jD]}||j|fVq
WdS(N(Ri(RR]((s/usr/lib/python2.7/_abcoll.pyR)s(R$R%R'R=R.R)(((s/usr/lib/python2.7/_abcoll.pyRs		cBseZdZdZRS(cCs/x(|jD]}||j|kr
tSq
WtS(N(RiRR((RR>R]((s/usr/lib/python2.7/_abcoll.pyR.sccs$x|jD]}|j|Vq
WdS(N(Ri(RR]((s/usr/lib/python2.7/_abcoll.pyR)s(R$R%R.R)(((s/usr/lib/python2.7/_abcoll.pyRs	cBsbeZedZedZeZedZdZdZ	dZ
ddZRS(cCs
tdS(N(RT(RR]R>((s/usr/lib/python2.7/_abcoll.pyt__setitem__scCs
tdS(N(RT(RR]((s/usr/lib/python2.7/_abcoll.pyt__delitem__scCsGy||}Wn'tk
r7||jkr3n|SX||=|SdS(N(RTt_MutableMapping__marker(RR]R_R>((s/usr/lib/python2.7/_abcoll.pyRWs
cCsKytt|}Wntk
r/tnX||}||=||fS(N(R+RVR*RT(RR]R>((s/usr/lib/python2.7/_abcoll.pytpopitems


cCs3yxtr|jqWWntk
r.nXdS(N(RRtRT(R((s/usr/lib/python2.7/_abcoll.pyRXs
	
cOs%t|dkr0tdjt|n|sEtdn|d}t|dkrk|dnd}t|trxw|D]}||||<qWnXt|drxF|jD]}||||<qWn!x|D]\}}|||<qWx$|jD]\}}|||<qWdS(Nis8update() takes at most 2 positional arguments ({} given)s,update() takes at least 1 argument (0 given)iiRe((R3t	TypeErrorRlR2R
RReRf(R/R0RR4R]R>((s/usr/lib/python2.7/_abcoll.pytupdates"	
"
cCs.y||SWntk
r)|||<nX|S(N(RT(RR]R_((s/usr/lib/python2.7/_abcoll.pyt
setdefaults

N(
R$R%RRqRrtobjectRsRWRtRXRvR Rw(((s/usr/lib/python2.7/_abcoll.pyRs					cBsJeZdZedZdZdZdZdZdZ	RS(sAll the operations on a read-only sequence.

    Concrete subclasses must override __new__ or __init__,
    __getitem__, and __len__.
    cCs
tdS(N(t
IndexError(Rtindex((s/usr/lib/python2.7/_abcoll.pyR^sccsId}y*x#tr.||}|V|d7}qWWntk
rDdSXdS(Nii(RRy(RtiRp((s/usr/lib/python2.7/_abcoll.pyR)s	

cCs%x|D]}||krtSqWtS(N(RR((RR>Rp((s/usr/lib/python2.7/_abcoll.pyR.s
ccs0x)ttt|D]}||VqWdS(N(treversedtrangeR3(RR{((s/usr/lib/python2.7/_abcoll.pyt__reversed__ scCs7x*t|D]\}}||kr
|Sq
WtdS(N(t	enumeratet
ValueError(RR>R{Rp((s/usr/lib/python2.7/_abcoll.pyRz$scstfd|DS(Nc3s!|]}|krdVqdS(iN((RRp(R>(s/usr/lib/python2.7/_abcoll.pys	<genexpr>+s(tsum(RR>((R>s/usr/lib/python2.7/_abcoll.pytcount*s(
R$R%RPRR^R)R.R~RzR(((s/usr/lib/python2.7/_abcoll.pyRs	
			cBsneZedZedZedZdZdZdZddZ	dZ
d	ZRS(
cCs
tdS(N(Ry(RRzR>((s/usr/lib/python2.7/_abcoll.pyRq5scCs
tdS(N(Ry(RRz((s/usr/lib/python2.7/_abcoll.pyRr9scCs
tdS(N(Ry(RRzR>((s/usr/lib/python2.7/_abcoll.pytinsert=scCs|jt||dS(N(RR3(RR>((s/usr/lib/python2.7/_abcoll.pytappendAscCsXt|}xEt|dD]3}|||d||||<|||d<qWdS(Nii(R3R}(RRLR{((s/usr/lib/python2.7/_abcoll.pytreverseDscCs"x|D]}|j|qWdS(N(R(RRgRp((s/usr/lib/python2.7/_abcoll.pytextendIs
icCs||}||=|S(N((RRzRp((s/usr/lib/python2.7/_abcoll.pyRWMs
cCs||j|=dS(N(Rz(RR>((s/usr/lib/python2.7/_abcoll.pyRURscCs|j||S(N(R(RRg((s/usr/lib/python2.7/_abcoll.pyt__iadd__Us
(R$R%RRqRrRRRRRWRUR(((s/usr/lib/python2.7/_abcoll.pyR3s				((((((!RPtabcRRRGt__all__RRRtregistertstrRRRRRt	frozensetR	RnR
RR
RRRRhRttuplet
basestringtbuffertxrangeRRd(((s/usr/lib/python2.7/_abcoll.pyt<module>	sD			
x
C
3
C
(



&