/* * call-seq: * term_doc_enum.doc -> doc_id * * Move forward to the next document in the enumeration. Returns +true+ if * there is another document or +false+ otherwise. */ static VALUE frt_tde_next_position(VALUE self) { TermDocEnum *tde = (TermDocEnum *)DATA_PTR(self); int pos; if (tde->next_position == NULL) { rb_raise(rb_eNotImpError, "to scan through positions you must create " "the TermDocEnum with Index#term_positions method rather " "than the Index#term_docs method"); } pos = tde->next_position(tde); return pos >= 0 ? INT2FIX(pos) : Qnil; }