mς :γΈEc@s&dkZdeifd„ƒYZdS(NtLengthcBsYtZdZdd„Zd„Zd„Zd„Zd„Zd„Zd„Z d „Z RS( s3BTree lengths are too expensive to compute Objects that use BTrees need to keep track of lengths themselves. This class provides an object for doing this. As a bonus, the object support application-level conflict resolution. It is tempting to to assign length objects to __len__ attributes to provide instance-specific __len__ methods. However, this no longer works as expected, because new-style classes cache class-defined slot methods (like __len__) in C type slots. Thus, instance-define slot fillers are ignores. icCs ||_dS(N(tvtselftvalue(RR((t,/data/zmath/zope/lib/python/BTrees/Length.pyt__init__"scCs|iS(N(RR(R((Rt __getstate__%scCs ||_dS(N(RRR(RR((Rt __setstate__(scCs ||_dS(N(RRR(RR((Rtset+scCs |||S(N(ts1ts2told(RR R R ((Rt_p_resolveConflict.scCsdS(Ni((R((Rt_p_independent1scCs|i|7_dS(N(RRtdelta(RR((Rtchange6scGs|iS(N(RR(Rtargs((Rt__call__9s( t__name__t __module__t__doc__RRRRR R RR(((RRs        (t persistentt PersistentR(RR((Rt?s