[cfe-dev] Matching Indirect base classes
Daniel Jasper
djasper at google.com
Fri Nov 8 06:32:48 PST 2013
Take a look at CXXRecordDecl::forallBases() and
CXXRecordDecl::findInBases(). Dependent on what you want to do, one of them
might do what you need.
Cheers,
Daniel
On Fri, Nov 8, 2013 at 2:39 AM, Pedro Delgado Perez <pedro.delgado at uca.es>wrote:
> Hello,
>
> Please, I need some help with an issue I noticed a few days ago and I am
> not able to solve.
>
> To illustrate my problem, I show this piece of code:
>
> class A{
> public:
> A(): a(1) {};
> int a;
> };
>
> class B: public A{
> public:
> B(): b(2){};
> int b;
> };
>
> class C: public B{
> public:
> C(): c(3){};
> int b;
> int a;
> };
>
> We have three classes, where:
> B inherits directly from A
> C inherits directly from B and INDIRECTLY from A
>
> Using CXXRecordDecl::base_class_iterator, the classes indirectly inherited
> are not visited. Please, can someone explain me how to take into account
> these indirectly inherited base classes? I've been thinking on recursion
> (use base_class_iterator on each class directly inherited), but I'm sure
> there should be another simpler way to do this.
>
> Thanks in advance,
>
> Pedro.
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20131108/fb3b5c1e/attachment.html>
More information about the cfe-dev
mailing list