I implemented exactly the same thing 20 years ago. It looked something like:
Dynamic<int> foo; // define at global scope
{
DynamicBind<int> foo; // re-bind dynamically
}
It used thread-local storage and all. The global constructor for the Dynamic<> template class would allocate the thread specific key. The DynamicBind<> template class did the saving, location altering, and restoring.
That is very cool! Do you have a link to that implementation? I would be very interested in the problems that arise when you want to provide a rock solid implementation of this.
Comments
I implemented exactly the same thing 20 years ago. It looked something like:
It used thread-local storage and all. The global constructor for the Dynamic<> template class would allocate the thread specific key. The DynamicBind<> template class did the saving, location altering, and restoring.That is very cool! Do you have a link to that implementation? I would be very interested in the problems that arise when you want to provide a rock solid implementation of this.