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

PropertyGraph

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

PropertyGraph

A PropertyGraph is a graph that has some property associated with each of the vertices or edges in the graph. As a given graph may have several properties associated with each vertex or edge, a tag is used to identify which property is being accessed. The graph provides a function which returns a property map object.

Refinement of

Graph

Notation

G Тип, который является моделью PropertyGraph.
g Объект типа G.
X Тип дескриптора вершины или края для G.
x Объект типа X.
Карта Тип boost::property_map::const_type.
v Объект типа boost::property_traits< ; Map>::value_type.
PropertyTag Тип, который моделирует концепцию PropertyTag.
p Объект типа PropertyTag.
pmap Объект типа Map.

Associated types

boost::property_map::type
Тип карты свойств для имущества, указанного PropertyTag . Этот тип должен быть моделью ReadWritePropertyMap с ключевым типом, аналогичным типу дескриптора вершины или края графа.
boost::property_map::const_type
Тип карты свойств const для имущества, указанного PropertyTag . Этот тип должен быть моделью ReadablePropertyMap с ключевым типом, аналогичным типу дескриптора вершины или края графа.

Valid Expressions

get(p, g) Возвращает карту свойств для имущества, указанного типом PropertyTag. Объект p используется только для переноса типа.
Тип возврата: boost::property_map::type, если g является изменчивым и
boost::property_map::const_type в противном случае.
get(p, g, x) Возвращает значение свойства (определенное типом PropertyTag), связанное с объектом x (вершина или край). Объект p используется только для переноса типа. Эта функция эквивалентна:
get(get(p, g), x)
Тип возврата: boost::property_traits::value_type
put(p, g, x, v) Установите свойство (определяемое типом PropertyTag), связанное с объектом x (вершина или край) до значения v. Объект p используется только для переноса типа. Эта функция эквивалентна:
pmap = get(p, g);
put(pmap, x, v)

Тип возврата: void

Complexity

The get() property map function must be constant time.

Models

  • adjacency_listwithVertexProperty=property>иPropertyTag=vertex_distance_t.
  • adjacency_listwithVertexPropertyTag=property>иPropertyTag=vertex_in_degree_t.

Concept Checking Class

  template <class Graph, class X, class PropertyTag>
  struct PropertyGraphConcept
  {
    typedef typename property_map<G, PropertyTag>::type Map;
    typedef typename property_map<G, PropertyTag>::const_type const_Map;
    void constraints() {
      BOOST_CONCEPT_ASSERT(( GraphConcept<G> ));
      BOOST_CONCEPT_ASSERT(( ReadWritePropertyMapConcept<Map, X> ));
      BOOST_CONCEPT_ASSERT(( ReadablePropertyMapConcept<const_Map, X> ));
      Map pmap = get(PropertyTag(), g);
      pval = get(PropertyTag(), g, x);
      put(PropertyTag(), g, x, pval);
      ignore_unused_variable_warning(pmap);
    }
    void const_constraints(const G& g) {
      const_Map pmap = get(PropertyTag(), g);
      pval = get(PropertyTag(), g, x);
      ignore_unused_variable_warning(pmap);
    }
    G g;
    X x;
    typename property_traits<Map>::value_type pval;
  };

See Also

property_map

Copyright © 2000-2001 Джереми Сик, Университет Индианы (jsiek@osl.iu.edu)

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 14:10:11/0.0034120082855225/0