rapture 10.06.2011 12:48 unknown

Сижу, думаю, как бы реализовать механизм зависимостей. Ну типа re0 require miibus, ALTQ require ALTQ, ALTQ_NOPCC и т.д.

1. gelraen 10.06.2011 19:42

ну вот как-то так и реализовать, в одном большом файле, по строчке на зависимость. Или в sqlite, и тогда туда же запихнуть описания опций

2. rapturegelraen /1 10.06.2011 19:44 unknown

Нет, вопрос был не в том, а в том, как эти зависимости связывать и их обходить по порядку.

3. gelraenrapture /2 10.06.2011 19:45 imax

загружать однократным прочтением файла в map<string, string>

4. rapturegelraen /3 10.06.2011 19:48 unknown

Мне сложно описать то, чего я хочу.
1 require 2,3
2
3
4 require 1
Вот как при выборе 4 выбрать 1, а следом 2 и 3?

5. rapturerapture /4 10.06.2011 19:48 unknown

А если снят флажок с 3, сказать, что выбрать 4 — низззззя.

6. gelraenrapture /4 10.06.2011 19:50 imax

рекурсивно будет проще всего. и да, таки надо multimap,и желательно сразу два: одни для зависимостей в одну сторону, второй — в другую

7. rapturegelraen /6 10.06.2011 19:51 unknown

Заебешься проставлять вручную зависимости в обратную сторону. Тут деревья надо строить и их обходить.

8. gelraenrapture /7 10.06.2011 19:54 imax

смотри, ты читаешь файл, где в каждой строке одна зависимость: a → b
ты в один multimap добавляешь элемент с ключом a и значением b, а во второй — наоборот, элемент с ключом b и значением a. Когда тебе надо найти все опции от которых зависит a ты проходишься рекурсивно по первому multimap, когда надо найти все опции которые зависят от a — по второму

9. rapturerapture /7 10.06.2011 19:55 unknown

Ладно, я тут попутно таки ботаю хацкель, щас пойду жрат приготовлю, приду сяду делать. Но меня надо мотивировать, а то я совсем расстроюсь.

10. gelraenrapture /9 10.06.2011 19:55 imax

будешь автором первого гуёвого конфигуратора ядра для freebsd! сотни хомячков будут тебе благодарны! %)

11. rapturegelraen /10 10.06.2011 19:57 unknown

s/сотни/сотня
s/гуевого/хуевого

Do you really want to delete ?