On Wed, 13 Jun 2012, Alex Sadovsky wrote:
Hi Jeremiah,
Thanks for reading, and apologies for lack of clarity. Let me provide the clarifications.
The keys to the map will be the pairs
. The value corresponding to such a key is the arc length coordinate of that vertex on that path. I will likely be needing the values for most of the keys and, more importantly, will need to access repeatedly the value for a given key. This need for repeated access the main reason for wanting to store the values in a property map rather than compute them every time using a function. The paths will be stored in instances of a different class. I am modeling the movement of a collection of ``moving agents'' (vehicles , robots, etc.) in a network (graph), each agent assigned to a path in the graph. I will have a class defining a moving agent. One of the class variables will be the path to which that agent is assigned.
I hope this clarifies my intentions, but if it doesn't, I'll gladly answer further questions.
OK. Unless you need to use these maps in BGL algorithms or have a generic interface, you might want to just use an std::map, hash table, or similar to store your data. If you do want to use a property map, use associative_property_map unless you have some way to map your paths to a dense interval of integers (which you probably don't, but you might if you have a finite, known set of them). -- Jeremiah Willcock
____________________________________________________________________________________________________________________________________________________________ From: Jeremiah Willcock
To: "boost-users@lists.boost.org" Sent: Wednesday, June 13, 2012 11:10 AM Subject: Re: [Boost-users] [PropertyMap, Graph] Question on constructing a property map from a Cartesian product AxB of two sets to the set C of all real numbers On Tue, 12 Jun 2012, Alex Sadovsky wrote:
Hello,
I have defined a directed graph type, and a path type (each variable of type "path" is a sequence (vector) of vertices in the graph such that every two consecutive ones are connected by an edge). Each path is parameterized by arc length.
What I'd like to do is tabulate the function that, for each pair (vertex, path) tells the arc length coordinate of the vertex. I don't want to make it a function: a pair (vertex, path) is likely to come up more than once, and I want to avoid repeating the computation of the arc length coordinate. Just compute it once and store it in a property map.
Where are you storing the paths? Are they attached to vertices? They don't appear to be from the definitions below. Are you going to be using all of the
pairs' arc length values? I don't think I fully understand what you're asking---why do you want to store your data in a property map? What are you thinking of as the keys of the property map? Vertices, or pairs, or something else? -- Jeremiah Willcock _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users