Boost logo

Boost :

From: Philippe A. Bouchard (philippeb_at_[hidden])
Date: 2002-08-12 16:49:11


> > You mean a container of function pointers (s_rectify) (?)?
>
> I haven't been paying enough attention to your implementation details to
> know whether a container is appropriate or neccessary, nor what s_rectify
> is.

s_rectify will contain needed static_cast<>s type T can have in the program:

class A { int; };
class B { int; };

class P { int; };

class X : A, P { int; };
class Y : A, P { int; };
class Z : A, B, P { int; };

ptr<P> = new (rc()) X;
ptr<P> = new (rc()) Y;
ptr<P> = new (rc()) Z;

ptr<P>::s_id = 0;
ptr<X>::s_id = 1;
ptr<Y>::s_id = 2;
ptr<Z>::s_id = 3;

ptr<P>::s_rectify = {u, 4, 4, 8};

ptr<P>::s_rectify[0] = int(static_cast<P *>((P *) 1) - offset(1)); // Not
defined yet
ptr<P>::s_rectify[1] = int(static_cast<P *>((X *) 1) - offset(1));
ptr<P>::s_rectify[2] = int(static_cast<P *>((Y *) 1) - offset(1));
ptr<P>::s_rectify[3] = int(static_cast<P *>((Z *) 1) - offset(1));

Philippe A. Bouchard


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk