Boost logo

Boost Users :

Subject: Re: [Boost-users] [Graph] Labeled graph bug
From: Kikohs xxx (kikohs.x_at_[hidden])
Date: 2012-12-07 10:23:58


I figure it out when I tried to put a label= 600000000, my computer ran out
of memory.
I changed from uint64_t to int64_t. Now it is properly working.

Cheers,

/**
 * Choose the default map instance. If Label is an unsigned integral type
 * the we can use a vector to store the information.
 */template <typename Label, typename Vertex>struct choose_default_map {
    typedef typename mpl::if_<
        is_unsigned<Label>,
        std::vector<Vertex>,
        std::map<Label, Vertex> // TODO: Should use unordered_map?
>::type type;};

On Fri, Dec 7, 2012 at 3:52 PM, Andrew Sutton <asutton.list_at_[hidden]>wrote:

> > I have checked the internal map.
> > If I add a single node in the graph, map.size() == 42. Instead of 1 !
> > If I add 5 nodes size() == 248.
> >
> > So any label number inferior to map.size() will give false results ...
> >
> > What's going on ?
>
> It looks like a broken assumption in the design of labeled_graph
> (which is mostly experimental), that any use of integral labels would
> be in the range [0, num_vertices(g)). When you insert a new label, it
> is automatically resizing the container to accommodate your new label.
>
> You may be better off not using labeled_graph.
>
> Andrew
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net