Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

IncidenceGraph

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

C++ Boost

IncidenceGraph

The IncidenceGraph concept provides an interface for efficient access to the out-edges of each vertex in the graph.

Refinement of

Graph

Notation

G Тип, который является моделью IncidenceGraph.
г Объект типаG.
е Объект типаboost::graph_traits::edge_descriptor.
u, v Являются объектами типаboost::graph_traits::vertex_descriptor.

Associated Types

boost::graph_traits::traversal_category

Этот тип метки должен быть конвертируемым вincidence_graph_tag.
<
boost::graph_traits<G>::out_edge_iterator
>Итератор переднего края для вершиныvобеспечивает доступ к переднего краям вершины. Таким образом, тип значения переднего итератора является типом дескриптора края его графика. Передний итератор должен соответствовать требованиямMultiPassInputIterator.
<
boost::graph_traits<G>::degree_size_type
>Неподписанный интегральный тип, используемый для представления числа крайностей или краев вершины.

Valid Expressions

Источник (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

Complexity guarantees

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.

See Also

Graph concepts

Notes

[1] For undirected graphs, the edge (u,v) is the same as edge (v,u), so without some extra guarantee an implementation would be free use any ordering for the pair of vertices in an out-edge. For example, if you call out_edges(u, g), and v is one of the vertices adjacent to u, then the implementation would be free to return (v,u) as an out-edge which would be non-intuitive and cause trouble for algorithms. Therefore, the extra requirement is added that the out-edge connecting u and v must be given as (u,v) and not (v,u).

Concept Checking Class

  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.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 19:23:58/0.0050609111785889/1