![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
EdgeListGraphBoost , ,
|
G | A type that is a model of EdgeListGraph. |
g | An object of type G. |
e | An object of type boost::graph_traits<G>::edge_descriptor. |
boost::graph_traits Этот тип тегов должен быть конвертируемым в edge_list_graph_tag. |
boost::graph_traitsedges(g)) обеспечивает доступ ко всем краям в графе. Тип реберного итератора должен соответствовать требованиям MultiPassInputIterator. Тип значения реберного итератора должен быть таким же, как и реберный дескриптор графа. |
boost::graph_traitsНеподписанный целечисленный тип, используемый для представления количества ребер в графе. |
edges(g) | Returns an iterator-range providing access to all
the edges in the graph g. Return type: std::pair<edge_iterator, edge_iterator> |
num_edges(g) | Returns the number of edges in the graph g. Return type: edges_size_type |
source(e, g) |
Returns the vertex descriptor for u of the edge (u,v)
represented by e. Return type: vertex_descriptor |
target(e, g) |
Returns the vertex descriptor for
v of the edge (u,v) represented by e. Return type: vertex_descriptor |
template <class G> struct EdgeListGraphConcept { typedef typename boost::graph_traits<G>::edge_iterator edge_iterator; void constraints() { BOOST_CONCEPT_ASSERT(( GraphConcept<G> )); BOOST_CONCEPT_ASSERT(( MultiPassInputIteratorConcept<edge_iterator> )); p = edges(g); E = num_edges(g); e = *p.first; u = source(e, g); v = target(e, g); const_constraints(g); } void const_constraints(const G& g) { p = edges(g); E = num_edges(g); e = *p.first; u = source(e, g); v = target(e, g); } std::pair<edge_iterator,edge_iterator> p; typename boost::graph_traits<G>::vertex_descriptor u, v; typename boost::graph_traits<G>::edge_descriptor e; typename boost::graph_traits<G>::edges_size_type E; G g; };
Copyright © 2000-2001 | Jeremy Siek, Indiana University (jsiek@osl.iu.edu) |
Статья EdgeListGraph раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::
реклама |