  from libcpp.vector cimport vector
  
  
  cdef class Tokens:
      cdef vector[LexemeC*] v
  
      cpdef size_t id(self, size_t i) except 0
      cpdef unicode string(self, size_t i)
      cpdef double prob(self, size_t i) except 1
      cpdef size_t cluster(self, size_t i) except *
 
</s> remove         return lexeme_check_flag(self.v[i], flag_id)
 </s> add         return lexeme_check_flag(self.v.at(i), flag_id) </s> remove         cdef bytes utf8_string = self.v[i].string[:self.v[i].length]
 </s> add         cdef bytes utf8_string = self.v.at(i).string[:self.v.at(i).length] </s> remove             lexemes[i] = tokens.v[j]
 </s> add             lexemes[i] = tokens.v[0][j]
    cdef vector[LexemeC*] *v
  from libcpp.vector cimport vector
  
  
  cdef class Tokens:
    cdef vector[LexemeC*] *v
  
      cpdef size_t id(self, size_t i) except 0
      cpdef unicode string(self, size_t i)
      cpdef double prob(self, size_t i) except 1
      cpdef size_t cluster(self, size_t i) except *
keep keep keep keep replace keep keep keep keep keep
 * Switch to using a heap-allocated vector in tokens 
spacy/tokens.pxd