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

Graph

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

Graph

The Graph concept contains a few requirements that are common to all the graph concepts. These include some associated types for vertex_descriptor, edge_descriptor, etc. One should note that a model of Graph is not required to be a model of Assignable, so algorithms should pass graph objects by reference.

Notation

G Тип, который является моделью графа.
г Объект типаG.

Associated Types

<
boost::graph_traits<G>::vertex_descriptor
>Вертикальный дескриптор соответствует уникальной вершине в абстрактном графе. Для этого необходимо установить,.ПриемлемоеиРавенство сопоставимое.
<
boost::graph_traits<G>::edge_descriptor
>Описатель края соответствует уникальному краю(u,v)на графике. Описатель края должен бытьКонструктивный по умолчанию,ПризнаваемыйиРавенство Сопоставимое.
<
boost::graph_traits<G>::directed_category
>Этот тип должен быть конвертируемым вdirect_tagилиundirected_tag.
<
boost::graph_traits<G>::edge_parallel_category
>Это описывает, позволяет ли класс графов вставлять параллельные края (краи с одинаковым источником и мишенью). Два тега:let_parallel_edge_tagиdisallow_parallel_edge_tag.
<
boost::graph_traits<G>::traversal_category
>Это описывает способы посещения вершин и краев графа. Выборами являютсяincidence_graph_tag,adjacency_graph_tag,bidirectional_graph_tag,vertex_list_graph_tag,edge_list_graph_tagиadjacency_matrix_tag.

Valid Expressions

<
boost::graph_traits<G>::null_vertex()
>
Возвращает специальныйимпульс::graph_traits::vertex_descriptorобъект, который не относится к любой вершине графового объекта, тип которогоG.

Класс проверки концепции

<
  template <class G>
  struct GraphConcept
  {
    typedef typename boost::graph_traits<G>::vertex_descriptor vertex_descriptor;
    typedef typename boost::graph_traits<G>::edge_descriptor edge_descriptor;
    typedef typename boost::graph_traits<G>::directed_category directed_category;
    typedef typename boost::graph_traits<G>::edge_parallel_category edge_parallel_category;
    typedef typename boost::graph_traits<G>::traversal_category traversal_category;
    void constraints() {
      BOOST_CONCEPT_ASSERT(( DefaultConstructibleConcept<vertex_descriptor> ));
      BOOST_CONCEPT_ASSERT(( EqualityComparableConcept<vertex_descriptor> ));
      BOOST_CONCEPT_ASSERT(( AssignableConcept<vertex_descriptor> ));
      BOOST_CONCEPT_ASSERT(( DefaultConstructibleConcept<edge_descriptor> ));
      BOOST_CONCEPT_ASSERT(( EqualityComparableConcept<edge_descriptor> ));
      BOOST_CONCEPT_ASSERT(( AssignableConcept<edge_descriptor> ));
    }
    G g;
  };
>

См. также

Графические концепции

Авторское право и копия; 2000-2001 годыДжереми Сик, Университет Индианыjsiek@osl.iu.edu

Статья Graph раздела может быть полезна для разработчиков на c++ и boost.




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 04:21:40/0.0055441856384277/1