[cfe-dev] better way to test for explicit C++ constructor?
Peeter Joot
peeter.joot at gmail.com
Tue Dec 11 13:23:35 PST 2012
Thanks Kim, that worked nicely:
for ( CXXRecordDecl::ctor_iterator b = r->ctor_begin(), e =
r->ctor_end() ;
b != e ; ++b )
{
if ( !b->isImplicitlyDefined() )
{
cout << r->getName().str() << " : CONSTRUCTOR" << endl ;
break ;
}
}
and is much cleaner.
Peeter
CXXRecordDecl has a ctor_begin/ctor_end pair, which return iterators
> over all constructors.
>
> They are of type CXXConstructorDecl, and that class in turn has an
> isImplicitlyDefined method you can use to check whether it's
> user-written or not.
>
> You should be able to loop over the RecordDecl's constructors and
> count the ones not implicitly defined.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20121211/f411a0f9/attachment.html>
More information about the cfe-dev
mailing list