PolyLexiconReader* PolyLexReader_init(PolyLexiconReader *self, VArray *readers, I32Array *offsets) { Schema *schema = NULL; for (uint32_t i = 0, max = VA_Get_Size(readers); i < max; i++) { LexiconReader *reader = (LexiconReader*)CERTIFY(VA_Fetch(readers, i), LEXICONREADER); if (!schema) { schema = LexReader_Get_Schema(reader); } } LexReader_init((LexiconReader*)self, schema, NULL, NULL, NULL, -1); PolyLexiconReaderIVARS *const ivars = PolyLexReader_IVARS(self); ivars->readers = (VArray*)INCREF(readers); ivars->offsets = (I32Array*)INCREF(offsets); return self; }
PolyLexiconReader* PolyLexReader_init(PolyLexiconReader *self, VArray *readers, I32Array *offsets) { u32_t i, max; Schema *schema = NULL; for (i = 0, max = VA_Get_Size(readers); i < max; i++) { LexiconReader *reader = (LexiconReader*)ASSERT_IS_A( VA_Fetch(readers, i), LEXICONREADER); if (!schema) { schema = LexReader_Get_Schema(reader); } } LexReader_init((LexiconReader*)self, schema, NULL, NULL, NULL, -1); self->readers = (VArray*)INCREF(readers); self->offsets = (I32Array*)INCREF(offsets); return self; }