@@ -47,6 +47,15 @@ cdef class ClassDefIter(BaseIterator):
4747 error_check(self .ptr.Clone(& iterable.ptr))
4848 return iterable
4949
50+ def skip (self , lib.aafUInt32 count = 1 ):
51+ ret = self .ptr.Skip(count)
52+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
53+ raise IndexError (" skip count exceeded number of remaining objects" )
54+ elif ret == lib.AAFRESULT_SUCCESS:
55+ return
56+ else :
57+ error_check(ret)
58+
5059 def __next__ (self ):
5160 cdef ClassDef classdef = ClassDef()
5261 ret = self .ptr.NextOne(& classdef.ptr)
@@ -73,6 +82,15 @@ cdef class CodecDefIter(BaseIterator):
7382 cdef CodecDefIter iterable = CodecDefIter()
7483 error_check(self .ptr.Clone(& iterable.ptr))
7584 return iterable
85+
86+ def skip (self , lib.aafUInt32 count = 1 ):
87+ ret = self .ptr.Skip(count)
88+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
89+ raise IndexError (" skip count exceeded number of remaining objects" )
90+ elif ret == lib.AAFRESULT_SUCCESS:
91+ return
92+ else :
93+ error_check(ret)
7694
7795 def __next__ (self ):
7896 cdef CodecDef codecdef = CodecDef()
@@ -100,7 +118,16 @@ cdef class ComponentIter(BaseIterator):
100118 cdef ComponentIter iter = ComponentIter()
101119 error_check(self .ptr.Clone(& iter .ptr))
102120 return iter
103-
121+
122+ def skip (self , lib.aafUInt32 count = 1 ):
123+ ret = self .ptr.Skip(count)
124+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
125+ raise IndexError (" skip count exceeded number of remaining objects" )
126+ elif ret == lib.AAFRESULT_SUCCESS:
127+ return
128+ else :
129+ error_check(ret)
130+
104131 def __next__ (self ):
105132 cdef Component comp = Component()
106133 ret = self .ptr.NextOne(& comp.comp_ptr)
@@ -128,6 +155,15 @@ cdef class ControlPointIter(BaseIterator):
128155 error_check(self .ptr.Clone(& iter .ptr))
129156 return iter
130157
158+ def skip (self , lib.aafUInt32 count = 1 ):
159+ ret = self .ptr.Skip(count)
160+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
161+ raise IndexError (" skip count exceeded number of remaining objects" )
162+ elif ret == lib.AAFRESULT_SUCCESS:
163+ return
164+ else :
165+ error_check(ret)
166+
131167 def __next__ (self ):
132168 cdef ControlPoint point = ControlPoint()
133169 ret = self .ptr.NextOne(& point.ptr)
@@ -155,6 +191,15 @@ cdef class EssenceDataIter(BaseIterator):
155191 error_check(self .ptr.Clone(& iter .ptr))
156192 return iter
157193
194+ def skip (self , lib.aafUInt32 count = 1 ):
195+ ret = self .ptr.Skip(count)
196+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
197+ raise IndexError (" skip count exceeded number of remaining objects" )
198+ elif ret == lib.AAFRESULT_SUCCESS:
199+ return
200+ else :
201+ error_check(ret)
202+
158203 def __next__ (self ):
159204 cdef EssenceData data = EssenceData()
160205 ret = self .ptr.NextOne(& data.ptr)
@@ -181,7 +226,16 @@ cdef class KLVDataDefIter(BaseIterator):
181226 cdef KLVDataDefIter iter = KLVDataDefIter()
182227 error_check(self .ptr.Clone(& iter .ptr))
183228 return iter
184-
229+
230+ def skip (self , lib.aafUInt32 count = 1 ):
231+ ret = self .ptr.Skip(count)
232+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
233+ raise IndexError (" skip count exceeded number of remaining objects" )
234+ elif ret == lib.AAFRESULT_SUCCESS:
235+ return
236+ else :
237+ error_check(ret)
238+
185239 def __next__ (self ):
186240 cdef KLVDataDef klv_def = KLVDataDef()
187241 ret = self .ptr.NextOne(& klv_def.ptr)
@@ -209,6 +263,15 @@ cdef class LoadedPluginIter(BaseIterator):
209263 error_check(self .ptr.Clone(& iter .ptr))
210264 return iter
211265
266+ def skip (self , lib.aafUInt32 count = 1 ):
267+ ret = self .ptr.Skip(count)
268+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
269+ raise IndexError (" skip count exceeded number of remaining objects" )
270+ elif ret == lib.AAFRESULT_SUCCESS:
271+ return
272+ else :
273+ error_check(ret)
274+
212275 def __next__ (self ):
213276 cdef AUID auid = AUID()
214277 ret = self .ptr.NextOne(& auid.auid)
@@ -236,6 +299,15 @@ cdef class MobSlotIter(BaseIterator):
236299 error_check(self .ptr.Clone(& iterable.ptr))
237300 return iterable
238301
302+ def skip (self , lib.aafUInt32 count = 1 ):
303+ ret = self .ptr.Skip(count)
304+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
305+ raise IndexError (" skip count exceeded number of remaining objects" )
306+ elif ret == lib.AAFRESULT_SUCCESS:
307+ return
308+ else :
309+ error_check(ret)
310+
239311 def __next__ (self ):
240312 cdef MobSlot slot = MobSlot()
241313 ret = self .ptr.NextOne(& slot.slot_ptr)
@@ -263,6 +335,15 @@ cdef class MobIter(BaseIterator):
263335 error_check(self .ptr.Clone(& iterable.ptr))
264336 return iterable
265337
338+ def skip (self , lib.aafUInt32 count = 1 ):
339+ ret = self .ptr.Skip(count)
340+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
341+ raise IndexError (" skip count exceeded number of remaining objects" )
342+ elif ret == lib.AAFRESULT_SUCCESS:
343+ return
344+ else :
345+ error_check(ret)
346+
266347 def __next__ (self ):
267348 cdef Mob mob = Mob()
268349 ret = self .ptr.NextOne(& mob.ptr)
@@ -289,6 +370,15 @@ cdef class ParamIter(BaseIterator):
289370 error_check(self .ptr.Clone(& iter .ptr))
290371 return iter
291372
373+ def skip (self , lib.aafUInt32 count = 1 ):
374+ ret = self .ptr.Skip(count)
375+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
376+ raise IndexError (" skip count exceeded number of remaining objects" )
377+ elif ret == lib.AAFRESULT_SUCCESS:
378+ return
379+ else :
380+ error_check(ret)
381+
292382 def __next__ (self ):
293383 cdef Parameter param = Parameter()
294384 ret = self .ptr.NextOne(& param.param_ptr)
@@ -316,6 +406,15 @@ cdef class PluginDefIter(BaseIterator):
316406 error_check(self .ptr.Clone(& iter .ptr))
317407 return iter
318408
409+ def skip (self , lib.aafUInt32 count = 1 ):
410+ ret = self .ptr.Skip(count)
411+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
412+ raise IndexError (" skip count exceeded number of remaining objects" )
413+ elif ret == lib.AAFRESULT_SUCCESS:
414+ return
415+ else :
416+ error_check(ret)
417+
319418 def __next__ (self ):
320419 cdef PluginDef plug_def = PluginDef()
321420 ret = self .ptr.NextOne(& plug_def.ptr)
@@ -343,6 +442,15 @@ cdef class PropIter(BaseIterator):
343442 error_check(self .ptr.Clone(& iter .ptr))
344443 return iter
345444
445+ def skip (self , lib.aafUInt32 count = 1 ):
446+ ret = self .ptr.Skip(count)
447+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
448+ raise IndexError (" skip count exceeded number of remaining objects" )
449+ elif ret == lib.AAFRESULT_SUCCESS:
450+ return
451+ else :
452+ error_check(ret)
453+
346454 def __next__ (self ):
347455 cdef Property prop = Property()
348456 ret = self .ptr.NextOne(& prop.ptr)
@@ -370,6 +478,15 @@ cdef class PropertyDefsIter(BaseIterator):
370478 error_check(self .ptr.Clone(& iter .ptr))
371479 return iter
372480
481+ def skip (self , lib.aafUInt32 count = 1 ):
482+ ret = self .ptr.Skip(count)
483+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
484+ raise IndexError (" skip count exceeded number of remaining objects" )
485+ elif ret == lib.AAFRESULT_SUCCESS:
486+ return
487+ else :
488+ error_check(ret)
489+
373490 def __next__ (self ):
374491 cdef PropertyDef propdef = PropertyDef()
375492 ret = self .ptr.NextOne(& propdef.ptr)
@@ -396,6 +513,15 @@ cdef class PropValueIter(BaseIterator):
396513 cdef PropValueIter iter = PropValueIter()
397514 error_check(self .ptr.Clone(& iter .ptr))
398515 return iter
516+
517+ def skip (self , lib.aafUInt32 count = 1 ):
518+ ret = self .ptr.Skip(count)
519+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
520+ raise IndexError (" skip count exceeded number of remaining objects" )
521+ elif ret == lib.AAFRESULT_SUCCESS:
522+ return
523+ else :
524+ error_check(ret)
399525
400526 def __next__ (self ):
401527 cdef PropertyValue value = PropertyValue()
@@ -424,6 +550,15 @@ cdef class PropValueResolveIter(BaseIterator):
424550 error_check(self .ptr.Clone(& iter .ptr))
425551 return iter
426552
553+ def skip (self , lib.aafUInt32 count = 1 ):
554+ ret = self .ptr.Skip(count)
555+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
556+ raise IndexError (" skip count exceeded number of remaining objects" )
557+ elif ret == lib.AAFRESULT_SUCCESS:
558+ return
559+ else :
560+ error_check(ret)
561+
427562 def __next__ (self ):
428563 cdef PropertyValue value = PropertyValue()
429564 ret = self .ptr.NextOne(& value.ptr)
@@ -451,6 +586,15 @@ cdef class SegmentIter(BaseIterator):
451586 error_check(self .ptr.Clone(& iter .ptr))
452587 return iter
453588
589+ def skip (self , lib.aafUInt32 count = 1 ):
590+ ret = self .ptr.Skip(count)
591+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
592+ raise IndexError (" skip count exceeded number of remaining objects" )
593+ elif ret == lib.AAFRESULT_SUCCESS:
594+ return
595+ else :
596+ error_check(ret)
597+
454598 def __next__ (self ):
455599 cdef Segment seg = Segment()
456600 ret = self .ptr.NextOne(& seg.seg_ptr)
@@ -478,6 +622,15 @@ cdef class TaggedValueIter(BaseIterator):
478622 error_check(self .ptr.Clone(& iter .ptr))
479623 return iter
480624
625+ def skip (self , lib.aafUInt32 count = 1 ):
626+ ret = self .ptr.Skip(count)
627+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
628+ raise IndexError (" skip count exceeded number of remaining objects" )
629+ elif ret == lib.AAFRESULT_SUCCESS:
630+ return
631+ else :
632+ error_check(ret)
633+
481634 def __next__ (self ):
482635 cdef TaggedValue tag = TaggedValue()
483636 ret = self .ptr.NextOne(& tag.ptr)
@@ -505,6 +658,15 @@ cdef class TypeDefIter(BaseIterator):
505658 error_check(self .ptr.Clone(& iter .ptr))
506659 return iter
507660
661+ def skip (self , lib.aafUInt32 count = 1 ):
662+ ret = self .ptr.Skip(count)
663+ if ret == lib.AAFRESULT_NO_MORE_OBJECTS:
664+ raise IndexError (" skip count exceeded number of remaining objects" )
665+ elif ret == lib.AAFRESULT_SUCCESS:
666+ return
667+ else :
668+ error_check(ret)
669+
508670 def __next__ (self ):
509671 cdef TypeDef type_def = TypeDef()
510672 ret = self .ptr.NextOne(& type_def.typedef_ptr)
0 commit comments