Hello,
I've recently started using the boost graph library to read a graph in dot format generated with pygraphviz and run some analysis on it. I get the basic example
http://www.boost.org/doc/libs/1_55_0/libs/graph/doc/read_graphviz.html#examp...
to compile, but it then segfaults when reading the file because it can't find the property "colors" (stack trace below). Now I understand that I didn't define this property but I also have no idea how to do it. Debugging it, i find the name="colors", key=0 and value="red" for the function call below:
#11 0x000000010001b40c in boost::put (name=@0x100205880, dp=@0x7fff5fbff5f8, key=@0x100204d78, value=@0x100205888) at dynamic_property_map.hpp:292
292 boost::shared_ptr new_map = dp.generate(name, key, value);
For a general understanding of what's happening: What is "key" good for? In the example, where is the variable vertex_color declared? What is this "mass" property and why does it contain vertex_color? What is the type vertex_color_t? The documentation didn't help me, maybe there are easier starting points or i've just looked in the wrong parts of
http://www.boost.org/doc/libs/1_55_0/libs/graph/doc/table_of_contents.html
If someone could point me to a proper example/tutorial/documentation it'd be greatly appreciated.
Best regards,
Robert Langenberg
Stacktrace:
Program received signal SIGABRT, Aborted.
0x00007fff971e8d46 in __kill ()
(gdb) where
#0 0x00007fff971e8d46 in __kill ()
#1 0x00007fff8fa28f83 in abort ()
#2 0x00007fff8f35c9eb in abort_message ()
#3 0x00007fff8f35a39a in default_terminate ()
#4 0x00007fff8df32887 in _objc_terminate ()
#5 0x00007fff8f35a3c9 in safe_handler_caller ()
#6 0x00007fff8f35a424 in std::terminate ()
#7 0x00007fff8f35b58b in __cxa_throw ()
#8 0x0000000100016eae in boost::throw_exceptionboost::property_not_found > (e=@0x7fff5fbfedb8) at throw_exception.hpp:70
#9 0x0000000100016ff0 in boost::exception_detail::throw_exception_boost::property_not_found (x=@0x7fff5fbfee90, current_function=0x100061188 "boost::shared_ptrboost::dynamic_property_map boost::dynamic_properties::generate(const std::string&, const Key&, const Value&) [with Key = long unsigned int, Value = std::basic_string (this=0x7fff5fbff5f8, name=@0x100205880, key=@0x100204d78, value=@0x100205888) at dynamic_property_map.hpp:268
#11 0x000000010001b40c in boost::put (name=@0x100205880, dp=@0x7fff5fbff5f8, key=@0x100204d78, value=@0x100205888) at dynamic_property_map.hpp:292
#12 0x000000010000bf4a in boost::detail::graph::mutate_graph_impl >, boost::property, boost::property, boost::listS> >::set_node_property (this=0x7fff5fbff340, key=@0x100205880, node=@0x1002063d0, value=@0x100205888) at graphviz.hpp:775
#13 0x000000010001f006 in boost::read_graphviz_detail::translate_results_to_graph (r=@0x7fff5fbff140, mg=0x7fff5fbff340) at read_graphviz_new.cpp:770