From: E. Gladyshev (eegg_at_[hidden])
Date: 2004-03-09 23:44:07


----- Original Message -----
From: "Jody Hagins" <jody-boost-011304_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Tuesday, March 09, 2004 9:37 AM
Subject: Re: [boost] enumeration interface for boost::signals

[...]
>
> If I understand the original statement, I have a similar requirement,
> and have done it by implementing an addition class, I call multisignal
> (after multimap, multiset, and so forth). It basically holds an
> addition to the tuple library that I call dynamic_tuple, which provides
> direct access to any type, while preserving type safety both at run time
> and compile time. You can use a type as an index into a dynamic_tuple,
> and still get constant time lookup. This forms a basis for the
> multisignal, which provides a wrapper around Boost.Signal to allow
> multiple signals to be raised, using the same signal object. The
> algorithmic complexity can be minimized to constant time lookup of the
> signal object using another libary I call type_to_index, which provides
> a special zero-based index for a specific type, relative to the
> collection in which the type is used as an index.
>
>
> Sounds complicated, but it is quite simple. However, to get the
> type_to_index, you have to create explicit template instantiations, or
> allow static data members (which some are opposed to, depending on OS
> preference).
>

I don't think that it's what I was talking about.

Using one signal object for propagating multiple events types
is not a problem. You can use tuple or variant.

My problem is in accessing the singnal slots randomly
in an efficient way.

Eugene