Enumerator* EnumOptions::createModelEnumerator(const EnumOptions& opts) { ModelEnumerator* e = new ModelEnumerator(); ModelEnumerator::Strategy s = ModelEnumerator::strategy_auto; if (opts.type > (int)ModelEnumerator::strategy_auto && opts.type <= (int)ModelEnumerator::strategy_record) { s = static_cast<ModelEnumerator::Strategy>(opts.type); } e->setStrategy(s, opts.project); return e; }
Enumerator* EnumOptions::createModelEnumerator(const EnumOptions& opts) { ModelEnumerator* e = new ModelEnumerator(); ModelEnumerator::Strategy s = ModelEnumerator::strategy_auto; if (opts.enumMode && opts.models()) { s = opts.enumMode == enum_bt ? ModelEnumerator::strategy_backtrack : ModelEnumerator::strategy_record; } e->setStrategy(s, opts.project | (opts.enumMode == enum_dom_record ? ModelEnumerator::project_dom_lits : 0)); return e; }