
Hello Joachim,
Thank you for replying. I think I should have explained in a little
detail on my requirement.
I have fixed interval, lets say, 10 minutes each over which I want to
perform some analytics.
In each of these ten minute intervals I will have clients add some
items to their shopping cart, browse certain products, read some
reviews etc etc and I would like to track and analyze and ICL
interval_map seems like an ideal container for my use case.
So, I create an interval map from my 10 minute interval example, with
keys as shown below
{ [0,10], (10, 20], (20, 30) }
and I would like to use a container such as a vector<ShoppingItem> as
values in my key-value pair for each 10 minute interval key.
Something like the below map:
[0, 10] => vector<ShoppingItem>
[10, 20] => vector<ShoppingItem>
[20, 30] => vector<ShoppingItem>
Now, lets say, we have a client "A" coming in and shopping in the
interval (3, 5).
I would like to add the number of items shopped in the interval [0,10]
instead of the intervals getting splitted from [0, 10] to {[0, 3],
[3,5], [5, 10]}
Basically any number of users arriving in any sub interval of [0, 10]
should remain in [0, 10].
Finally, I get to perform all my analytics on the vector<ShoppingItem>
for the interval [0, 10] instead of the sub-intervals of the
individual clients.
This would prove super useful to me and I wondering how to go about
doing this? I guess knowing how ICL looks at the values in the key-
value pair of the interval_map would be necessary. What do you advice?
Many thanks for your help,
Dece
On Jun 5, 8:37 am, Joachim Faulhaber
Hi Dave,
thank you for using Boost.ICL. From your example, I am not completely sure I understand what you are trying to accomplish. In any case you have to distinguish between
interval_sets and interval_maps
2011/6/3 Dave Schwartz
: Hi Users,
I am trying to use the new ICL (interval container library) for a project that requires some interval based calculations. I have a question on using the joining interval_map.
For example, below I have a conceptual 30 minute window divided into three 10 minute intervals. I want to do some aggregates in my 10 minute windows. { [0,10], (10, 20], (20, 30) }
As you are not using associated values I assume you should better use an interval_set.
Now say, I have 2 clients shopping in the first interval (0, 10) and their shopping time window interval is [2, 5] and [4, 9] minutes respectively. When I add the 2 interval, value pairs to my interval_map, I see that the interval map gets splited from [0, 10] to { [0,2], [2, 4], [5,9], [9,10] }. How do I make sure the interval still remains from [0, 10].
By using an interval_set, which is joining, and does not have associated values.
My question is how do I make sure my original interval of 10 minutes is preserved. The samples mentioned do mention about joining interval_map but I cannot seem to figure out an example for my requirement.
Use interval_set, if you don't need to store and aggregate associated values.
In contrast to interval_sets, interval_maps have to split intervals on aggregation. See e.g.http://www.joachim-faulhaber.de/boost_icl/doc/libs/icl/doc/html/boost...
HTH Joachim
-- Interval Container Library [Boost.Icl]http://www.joachim-faulhaber.de _______________________________________________ Boost-users mailing list Boost-us...@lists.boost.orghttp://lists.boost.org/mailman/listinfo.cgi/boost-users