Boost logo

Boost Users :

From: David Abrahams (dave_at_[hidden])
Date: 2004-08-10 10:04:09

Timothy Perrigo <tperrigo_at_[hidden]> writes:

> I'm just now treading into the (rather intimidating) waters of
> template metaprogramming, so I'm not even sure if it will fit what I'm
> trying to accomplish. I need to create a kind of registry to keep
> track of instances of variables of different types (actually, several
> of these registries, representing different system states); variables
> of a type would be identified by an unique (integer) id. In other
> words, the variables within a particular registry represent the state
> of the system at a given point in time, so although each registry
> would have variables of the same types and ids, the values of the
> variables in different registries may be different. If the variables
> were all of the same type, a simple map would work. What I would like
> is a way of asking this registry for a variable of a specified type
> and id, and get back the appropriate instance (of the appropriate
> type). I.e., something like the following would be ideal:
> MyType mt = registry.get<MyType>(my_id);
> Is there anything in the MPL (or elsewhere in Boost) that might help
> me accomplish what I'm looking to do? If not, does anyone have any
> design suggestions to accomplish this in another way? Any help would
> be appreciated!

Need more info.

Does each id map to just one type, or might there be different types
using the same ID in different registries of type R?

Is the id a runtime value, or is it known at compile-time?

Dave Abrahams
Boost Consulting

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at