![]() |
![]() ![]() ![]() ![]() |
![]() |
IncidenceGraphBoost , ,
|
|||||||||||||||||||||||||
| G | Тип, который является моделью IncidenceGraph. |
| г | Объект типаG. |
| е | Объект типаboost::graph_traits |
| u, v | Являются объектами типаboost::graph_traits |
| boost::graph_traits Этот тип метки должен быть конвертируемым вincidence_graph_tag. |
<boost::graph_traits<G>::out_edge_iterator>Итератор переднего края для вершиныvобеспечивает доступ к переднего краям вершины. Таким образом, тип значения переднего итератора является типом дескриптора края его графика. Передний итератор должен соответствовать требованиямMultiPassInputIterator. |
<boost::graph_traits<G>::degree_size_type>Неподписанный интегральный тип, используемый для представления числа крайностей или краев вершины. |
| Источник (e, g) | Возвращает дескриптор вершины дляuкрая(u,v), представленныйe. Тип возврата:vertex_descriptor |
| цель (e, g) | Возвращает дескриптор вершиныvкрая(u,v), представленныйe. Тип возврата:vertex_descriptor |
| out_edges(u, g) | Возвращает итератор-диапазон, обеспечивающий доступ к выступам (для направленных графов) или краям инцидентов (для ненаправленных графов) вершиныув графег. Исходная вершина ребра, полученная через итератор внешнего края, гарантирована (как для направленных, так и для ненаправленных графов) быть вершинойu, используемой при вызове наout_edges (u, g), а целевая вершина должна быть вершиной, прилегающей кu. Тип возврата:std::pair |
| out_degree(u, g) | Возвращает число крайностей (для направленных графов) или число краев инцидента (для ненаправленных графов) вершиныув графег. Тип возврата:Степень_size_type |
The source(), target(), and out_edges() functions must all be constant time. The out_degree() function must be linear in the number of out-edges.
template <class G>
struct IncidenceGraphConcept
{
typedef typename boost::graph_traits<G>::out_edge_iterator out_edge_iterator;
void constraints() {
BOOST_CONCEPT_ASSERT(( GraphConcept<G> ));
BOOST_CONCEPT_ASSERT(( MultiPassInputIteratorConcept<out_edge_iterator> ));
p = out_edges(u, g);
e = *p.first;
u = source(e, g);
v = target(e, g);
}
void const_constraints(const G& g) {
p = out_edges(u, g);
e = *p.first;
u = source(e, g);
v = target(e, g);
}
std::pair<out_edge_iterator, out_edge_iterator> p;
typename boost::graph_traits<G>::vertex_descriptor u, v;
typename boost::graph_traits<G>::edge_descriptor e;
G g;
};
| Copyright © 2000-2001 | Джереми Сик, Университет Индианыjsiek@osl.iu.edu) Ли-Куан Ли, Университет Индианыllee@cs.indiana.edu) Эндрю Лумсдейн, Университет Индианыlums@osl.iu.edu |
Статья IncidenceGraph раздела может быть полезна для разработчиков на c++ и boost.
:: Главная :: ::
реклама |