On Nov 15, 2008, at 5:55 AM, Zhongxing Xu wrote:
>
> One side problem is that I cannot make the MemRegion* in the
> ImmutableList const. If I did that, I would get compile error,
> related to FoldingSet Profile() overloading.
>
> It seems that ImmutableList cannot take a const type as template
> parameter, otherwise the two Profile functions in the partial
> specialization of FoldingSetTrait would have the same signature.
> (FoldingSet.h:444, 447).
Could we provide a partial specialization of FoldingSetTrait just for
ImmutableList? Or, does (something like) this work (i.e., add another
partial specialization for const types):
template<typename const T> struct FoldingSetTrait<const T*> {
static inline void Profile(const T* X, FoldingSetNodeID& ID) {
ID.AddPointer(X);
}
};
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits