id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 2397,for_each: do not expose basic_string (implementation type),François Barel ,Joel de Guzman,"{{{symbols::for_each}}}'s argument currently accepts two args: {{{(basic_string& str, T& val)}}} [[br]] I know it's a slight interface change, but I think it should be changed to: {{{(Char const* str, T& val)}}} (i.e. change {{{s}}} into {{{s.c_str()}}} in {{{f}}} calls in {{{tst_map.hpp}}} and {{{detail/tst.hpp}}}), since: 1. if I'm not mistaken the API is {{{Char const*}}} everywhere else anyway (and {{{basic_string}}} is only used internally as a {{{for_each}}} implementation detail, but is not exposed anywhere else), 2. it lets the user do: {{{ sym1.for_each(symX.add); sym2.for_each(symX.add); sym3.for_each(symX.add); ... }}} to merge multiple symbol tables together, which is nicer than having to write a one-line functor around {{{symX.add}}} just to do the required {{{c_str}}} call. Thanks, François",Feature Requests,closed,Boost 1.37.0,spirit,Boost 1.36.0,Problem,fixed,spirit2 symbols for_each,