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

Boost Graph Library: time_stamper

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

time_stamper<TimeMap, TimeT, EventTag>

This is an EventVisitor that can be used to "stamp" a time at some event-point within an algorithm. An example of this is recording the discover or finish time of a vertex during a graph search.

time_stamper can be used with graph algorithms by wrapping it with the algorithm specific adaptor, such as bfs_visitor and dfs_visitor. Also, this event visitor can be combined with other event visitors using std::pair to form an EventVisitorList.

Example

The following example shows the usage of the time_stamper.
  std::vector color(num_vertices(G));
  std::vector dtime(num_vertices(G));
  std::vector ftime(num_vertices(G));
  int time = 0;
  boost::breadth_first_search
    (G, vertex(s, G), make_bfs_visitor(
     std::make_pair(stamp_times(dtime.begin(), time, on_discover_vertex()),
                    stamp_times(ftime.begin(), time, on_finish_vertex()))),
     color.begin());

Model of

EventVisitor

Where Defined

boost/graph/visitors.hpp

Template Parameters

ParameterDescriptionDefault
Карта времени Карта прав собственности, гдеkey_typeявляется типом дескриптора вершины или краевым дескриптором графика (в зависимости от вида тега события) и гдеTimeTтип конвертируется взначение_типкарты свойств времени.  
TimeT Тип счетчика времени, который должен быть конвертируемым взначение_типкарты свойств времени  
Тег события Тег для определения, когдаtime_stamperдолжен быть применен во время алгоритма графа.  

Associated Types

TypeDescription
time_stamper::event_filter Это будет тот же тип, что и параметр шаблонаEventTag.

Member Functions

MemberDescription
time_stamper (TimeMap time_pa, TimeT&t); Постройте объект с датчиком времени с картой свойств времениtime_paи счетчиком времениt.
шаблон
void operator()(X x, const Graph&g);
Это увеличивает количество времени и "штампов" времени:
put(time_pa, x, ++t);

Non-Member Functions

FunctionDescription
шаблон<класс TimeMap, класс TimeT, класс Tag>
time_stamper
stamp_times(TimeMap pa, TimeT&t, Tag);
Удобный способ создатьtime_stamper.

See Also

Visitor concepts

The following are other event visitors: distance_recorder, time_stamper, and property_writer.


Copyright © 2000-2001Джереми Сик, Университет Индианыjsiek@osl.iu.edu)
Ли-Куан Ли, Университет Индианыllee@cs.indiana.edu)
Эндрю Лумсдейн, Университет Индианыlums@osl.iu.edu

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 03:10:53/0.005195140838623/1