Sounds good. I'd suggest that the iterator is a class wrapping the FoldingSet's iterator and making sure to return the latest redeclaration, what do you think ?
-Argiris On Jul 27, 2010, at 9:55 PM, Peter Collingbourne wrote: > Hi, > > Another possibility would be to expose an iterator > specs_begin()..specs_end() over the set of specialisations. This way > we don't need to copy the vector and the client still doesn't need > to care how the specialisation list is stored. > > (N.B. My application also needs to access the specialisation list.) > > Thanks, > > On Tue, Jul 27, 2010 at 08:25:26PM +0300, Argyrios Kyrtzidis wrote: >> Hi Abramo, >> >> How about adding a method to get the specializations in a vector, like the >> already existing: >> >> /// \brief Retrieve the partial specializations as an ordered list. >> void getPartialSpecializations( >> llvm::SmallVectorImpl<ClassTemplatePartialSpecializationDecl *> >> &PS); >> >> >> Users of the template decls interface would not need to depend on how the >> specializations are stored. >> For example, before I changed getSpecializations() to 'protected', the set >> contained the latest redeclarations but now the set contains just the >> canonical decls and we return the latest when the client makes a query about >> the specializations. >> >> -Argiris >> >> >> On Jul 27, 2010, at 12:41 PM, Abramo Bagnara wrote: >> >>> The following patch restores the "public" access specifier for method >>> getSpecializations() of FunctionTemplateDecl as well as methods >>> getSpecializations() and getPartialSpecializations() of ClassTemplateDecl. >>> >>> They were recently downgraded to "protected", but it seems that clients >>> such as our application have no other way to query the set of all >>> specializations of a given template. >>> >>> <public-specializations.patch>_______________________________________________ >>> cfe-commits mailing list >>> [email protected] >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> > >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > > > -- > Peter > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
