Class: HTS::Native::BamIteratorHandle

Inherits:
Object
  • Object
show all
Defined in:
ext/htslib_native/native_bam.c

Instance Method Summary collapse

Instance Method Details

#closeObject



630
631
632
633
634
635
# File 'ext/htslib_native/native_bam.c', line 630

static VALUE native_bam_iterator_close(VALUE self) {
    ruby_bam_iterator_t *value;
    TypedData_Get_Struct(self, ruby_bam_iterator_t, &bam_iterator_type, value);
    if (value->iterator) { hts_itr_destroy(value->iterator); value->iterator = NULL; }
    return Qnil;
}

#next(record) ⇒ Object



621
622
623
624
625
626
627
628
629
# File 'ext/htslib_native/native_bam.c', line 621

static VALUE native_bam_iterator_next(VALUE self, VALUE record) {
    ruby_bam_iterator_t *iterator = get_iterator(self);
    ruby_bam_file_t *file = get_file(iterator->file, 0);
    bam_io_args_t args={file->file,NULL,get_record(record)->pointer,iterator->iterator,0};
    bam_io_begin(file);
    rb_thread_call_without_gvl(bam_iterator_without_gvl,&args,RUBY_UBF_IO,NULL);
    file->active_io=0;
    return INT2NUM(args.result);
}