Hi, Richard B. Kreckel schrieb:
Patch 1 ([1a] or [1b]): Turn the template <template <class> class C> container into template <template <class T, class = std::allocator<T> > class C> container. Pro: Binary compatible (can be applied to 1.3-branch). Con: The intent is to express container of something and some allocator but rather container of something.
Patch 3): Change template <template <class> class C> container into template <template <class> class C> container_without_allocator and add a template <template <class, class> class C> container to be used with STL types. Pro: Binary compatible (can be applied to 1.3-branch). Con: Attaches a strange name to the "normal" case and a clear name to the special case. Same code duplication as in patch 2.
Why is patch 3 binary compatible? Doesn't the name container[_without_allocater] appear mangled in the ABI?
Although it may appear confusing I am inclined to check in patch 3 to the 1.3-branch and patch 2 to HEAD. I'm going to do that within a few days unless somebody raises objections.
Why do you think patch 3 is superior to patch 1? (Just) Consistent naming?
This might be a good time for asking about the status of HEAD and the branch. Are there any projects pending? Jens, could you roll a release (whichever version) in the not so far future (including regenerated Bison files)?
Anytime until Monday evening :-) And then again starting from one week later on. Any preference? Regards, Jens