from cymem.cymem cimport Pool from libcpp.vector cimport vector from preshed.maps cimport MapStruct, key_t from ..attrs cimport attr_id_t from ..structs cimport SpanC from ..tokens.doc cimport Doc from ..vocab cimport Vocab cdef class PhraseMatcher: cdef readonly Vocab vocab cdef attr_id_t attr cdef object _callbacks cdef object _docs cdef bint _validate cdef MapStruct* c_map cdef Pool mem cdef key_t _terminal_hash cdef void find_matches(self, Doc doc, int start_idx, int end_idx, vector[SpanC] *matches) nogil