コード例 #1
0
ファイル: SortSpec.c プロジェクト: theory/lucy
void
SortSpec_serialize(SortSpec *self, OutStream *target) {
    SortSpecIVARS *const ivars = SortSpec_IVARS(self);
    uint32_t num_rules = VA_Get_Size(ivars->rules);
    OutStream_Write_C32(target, num_rules);
    for (uint32_t i = 0; i < num_rules; i++) {
        SortRule *rule = (SortRule*)VA_Fetch(ivars->rules, i);
        SortRule_Serialize(rule, target);
    }
}
コード例 #2
0
ファイル: SortSpec.c プロジェクト: theory/lucy
SortSpec*
SortSpec_init(SortSpec *self, VArray *rules) {
    SortSpecIVARS *const ivars = SortSpec_IVARS(self);
    ivars->rules = VA_Shallow_Copy(rules);
    for (int32_t i = 0, max = VA_Get_Size(rules); i < max; i++) {
        SortRule *rule = (SortRule*)VA_Fetch(rules, i);
        CERTIFY(rule, SORTRULE);
    }
    return self;
}
コード例 #3
0
ファイル: SortSpec.c プロジェクト: theory/lucy
VArray*
SortSpec_get_rules(SortSpec *self) {
    return SortSpec_IVARS(self)->rules;
}
コード例 #4
0
ファイル: SortSpec.c プロジェクト: theory/lucy
void
SortSpec_destroy(SortSpec *self) {
    SortSpecIVARS *const ivars = SortSpec_IVARS(self);
    DECREF(ivars->rules);
    SUPER_DESTROY(self, SORTSPEC);
}
コード例 #5
0
ファイル: SortSpec.c プロジェクト: hernan604/lucy
VArray*
SortSpec_Get_Rules_IMP(SortSpec *self) {
    return SortSpec_IVARS(self)->rules;
}