Boost logo

Boost :

From: Corwin Joy (cjoy_at_[hidden])
Date: 2001-08-07 02:06:33

----- Original Message -----
From: "Dave Vasilevsky" <gridd_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Tuesday, August 07, 2001 12:01 AM
Subject: [boost] Visiting boost::any

> Hi,
> I've been trying to use boost::any in one of my projects, but I keep
running up
> against a problem: Templates and boost::any don't work together the way
> like them to.

> But this doesn't work either, since virtual methods can't be templated. So
> question: is there a way to implement the visitor idiom with any, or a
> modified version thereof? Using just virtual methods, one could easily
> implement a push_back() operation for any; but a new method must be added
> the definition of any every time one wants to add another operation. Is
there a
> general solution?

There are only a few solutions I know of. One is to simply register
functions outside the any class and use RTTI hooks exposed by any. You can
see this in a beta I posted to the Yahoo boost group called any_ccast to do
conversion casts. The other is to use a callback type framework... but
there you do have to customize the class somewhat... I wrote a short little
paper on this at

Boost list run by bdawes at, gregod at, cpdaniel at, john at