
On Dec 19, 2007 9:03 PM, Dean Michael Berris <mikhailberis@gmail.com> wrote:
Hey!
On Dec 20, 2007 3:04 AM, Cromwell Enage <sponage@yahoo.com> wrote:
--- Dean Michael Berris wrote:
Hi Guys,
Kumusta ka, pare!
I'm good. :)
Is there a definitive guide in the Boost.Graph documentation about how to create custom selectors?
Try:
<http://www.boost.org/libs/graph/doc/using_adjacency_list.html#sec:custom-storage>
I tried this, but I got a bunch of errors. Basically, what I tried precisely are:
struct pooled_vectorS { }; // the selector
namespace boost { template <typename ValueType> struct container_gen<pooled_vectorS, ValueType> { typedef std::vector<ValueType, pool_allocator<ValueType> > type; }; };
Unfortunately, when I try to do:
typedef adjacency_list< pooled_vectorS, pooled_vectorS, undirectedS, property<vector_name_t, int, property<vector_distance_t, int, property<vector_color_t, int> > >
graph_type;
graph_type my_graph;
I get a whole slew of errors which all boils down to:
/usr/local/lib/boost/boost/graph/adjacency_list.hpp:282: error: no type named 'type' in 'struct boost::parallel_edge_traits<pooled_vectorS>'
Am I missing something here?
I'm using the version in r41409.
Hi Dean, See the last paragraph on the page Cromwell gave a link to above, which explains how to specialize this traits class. You probably want: template <> struct parallel_edge_traits<pooled_vectorS> { typedef allow_parallel_edge_tag type; }; Regards, Aaron