Vladimir Prus wrote:
>>ghost> I think the best approach would be to make this concept explicit, and
>>ghost> independent from BGL. Something like
>>ghost>
>>ghost> type_indexed_container<
>>ghost> mpl::list<
>>ghost> pair<vertex_name_t, int >,
>>ghost> pair<vertex_distance_t, int> > > c;
>>ghost> c[vertex_name_t()] = 10;
>>ghost> I wonder if something like this already exists... I vaguely recall
>>ghost> someone was doing that.
>>
>>Yes, Emily Winch was working on this, and I thought she was going to
>>submit to boost. The following URL has a paper she wrote about this.
>>
>>http://www.oonumerics.org/tmpw01/schedule.html
>
Personally, I did not really notice your announcements. Some time ago
I wanted a dynamic type-indexed container, in which you specify the
required type, and it's either returned, or created. After quite look
on some email of yours I decided it's something different and stopped reading.
i needed that (or maybe something similar) for the filesystem attributes in the sandbox. i tried to make it compatible to the property map concept. the output can be used as follows (taken from boost-sandbox/libs/filesystem/test/type_pm_test.cpp)

boost::filesystem::detail::
type_property_map <char> pm;

put <int> (pm, 'i');
put <char> (pm, 'c');

BOOST_TEST (get <char> (pm) == 'c');
BOOST_TEST (get <int> (pm) == 'i');
BOOST_TEST (get <long> (pm) == long ());

it is implemented using Lokis TypeInfo and a std::map <TypeInfo, T> where T is the type to store. it is possible to add another layer which sets T to boost::any and converts everything in overloaded get/put functions. the current attribute cache is (nearly) an example for that.

boost::fs::cache c (path);
std::cout << get <size> (c);

jan

--
jan langer ... [EMAIL PROTECTED]
"pi ist genau drei"


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


Reply via email to