![]() |
![]() ![]() ![]() ![]() |
![]() |
PropertyGraphBoost , ,
|
||||||||||||||||||||||||||||||||
| G | Тип, который является моделью PropertyGraph. |
| g | Объект типа G. |
| X | Тип дескриптора вершины или края для G. |
| x | Объект типа X. |
| Карта | Тип boost::property_map |
| v | Объект типа boost::property_traits< ; Map>::value_type. |
| PropertyTag | Тип, который моделирует концепцию PropertyTag. |
| p | Объект типа PropertyTag. |
| pmap | Объект типа Map. |
boost::property_mapТип карты свойств для имущества, указанного PropertyTag . Этот тип должен быть моделью ReadWritePropertyMap с ключевым типом, аналогичным типу дескриптора вершины или края графа. |
boost::property_mapТип карты свойств const для имущества, указанного PropertyTag . Этот тип должен быть моделью ReadablePropertyMap с ключевым типом, аналогичным типу дескриптора вершины или края графа. |
| get(p, g) | Возвращает карту свойств для имущества, указанного типом PropertyTag. Объект p используется только для переноса типа. Тип возврата: boost::property_map boost::property_map |
| get(p, g, x) | Возвращает значение свойства (определенное типом PropertyTag), связанное с объектом x (вершина или край). Объект p используется только для переноса типа. Эта функция эквивалентна: get(get(p, g), x) Тип возврата: boost::property_traits |
| put(p, g, x, v) | Установите свойство (определяемое типом PropertyTag), связанное с объектом x (вершина или край) до значения v. Объект p используется только для переноса типа. Эта функция эквивалентна: pmap = get(p, g); put(pmap, x, v) Тип возврата: void |
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;
};
| Copyright © 2000-2001 | Джереми Сик, Университет Индианы (jsiek@osl.iu.edu) |
Статья PropertyGraph раздела может быть полезна для разработчиков на c++ и boost.
:: Главная :: ::
реклама |