Re[2]: Кто нибудь использует boost.graph?
От: Шебеко Евгений  
Дата: 26.07.05 09:28
Оценка:
ШЕ>>стоит ли уделять ему время или легче написать свой маленький велосипед?

_>Когда встала задача использовать деревья я, конечно, посмотрел в сторону boost'a. Почитал описание, понял, что все круто, не понял, как удовлетворить им свои потребности, и написал свой маленький велосипед под конкретную задачу (максимальный поток + использование нестандартных структур данных в узлах и соединениях). Но если выйдет русскоязычная книга по boost.graph я все-таки попробую до конца разобраться в нем.


Лично меня смутила какая-то странная типизация графов и алгоритмов.
Если честно я её просто не понимаю.

adjacency_list<OutEdgeList, VertexList, Directed,
               VertexProperties, EdgeProperties,
               GraphProperties, EdgeList>


OutEdgeList The selector for the container used to represent the edge-list for each of the vertices. vecS
VertexList The selector for the container used to represent the vertex-list of the graph. vecS
Directed A selector to choose whether the graph is directed, undirected, or directed with bidirectional edge access (access to both out-edges and in-edges). The options are directedS, undirectedS, and bidirectionalS. directedS
VertexProperties for specifying internal property storage. no_property
EdgeProperties for specifying internal property storage. no_property
GraphProperties for specifying property storage for the graph object. no_property
EdgeList The selector for the container used to represent the edge-list for the graph. listS


И тип контейнера задаётся и тип списка, и ещё куча всего только тип узлов и рёбер задать непонятно как
Тоже самое с алгоритмами. Большинство предикатов возвращают void и как с помощью них влиять на поведение не понятно
Такое впечатление что они сделаны больше для нотификации, типа сейчас мы делаем то-то, сейчас это.


Ну я подёргался со своим велосипедоиком, понял что если пытаться делать более менее универсально то выйдет примерно такая же фигня.
Вообщем-то можно использовать то что есть в boost.graph , только свои данные надо хранить и подгатавливать сбоку, и предоставлять бустовским
алгоритмам в таком виде каком им надо.
Ух надеюсь я не пожалею !
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.