On Jun 25, 2013, at 5:12 PM, Sebastian Redl <[email protected]> wrote:
> > On 25.06.2013, at 18:08, Howard Hinnant wrote: > >> Author: hhinnant >> Date: Tue Jun 25 11:08:47 2013 >> New Revision: 184859 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=184859&view=rev >> Log: >> Implement full support for non-pointer pointers in custom allocators for >> list. >> >> + typedef typename pointer_traits<_VoidPtr>::template >> +#ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES >> + rebind<__list_node_base> __base_pointer; >> +#else >> + rebind<__list_node_base>::other __base_pointer; >> +#endif > > I think you have about a million of these. Wouldn't it be worth it to write > > #ifdef _LIBCPP_HAS_NO_TEMPLATE_ALIASES > # define _LIBCPP_OTHER ::other > #else > # define _LIBCPP_OTHER > #endif > > and then do > > typedef typename pointer_traits<_VoidPtr>::template > rebind<__list_node_base>_LIBCPP_OTHER __base_pointer; > > ? > > Sebastian > <shrug> It is a stylistic choice. I tend to dislike dressing things up in macros too much. I find that I constantly have to go look up the definition of the preprocess to figure out what's going on. However this one I could live with. But it is on the bottom of my priority list... Today's job, probably won't finish it today, is to get custom pointers working for <vector>. Howard _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
