Hi Pavol, I haven't been following this thread so please forgive me if I'm just pointing out something stupid, or problems that you already know. I had a quick glance at the library and I'm a little confused at what is its scope. For instance the "is space" generalization makes in fact functions like trim() and the like generic algorithms that remove a given element (or its equivalents) from the beginning and the end of a sequence. At this point either you make clear that the library isn't specifically a "string library" or that isspaceF is actually a generic functor that can test whatever charT you like (and change its name at least).
>Trimming: > > Iterator trim_begin( Iterator InBegin, Iterator InEnd, const std::locale& >Loc=std::locale() ) > Seq ltrim( const Seq& Input, const std::locale& Loc=std::locale() ) > Seq& ltrim_in( Seq& Input, const std::locale& Loc=std::locale() ) > Seq rtrim( const Seq& Input, const std::locale& Loc=std::locale() ) > Seq& rtrim_in( Seq& Input, const std::locale& Loc=std::locale() ) > Seq trim( const Seq& Input, const std::locale& Loc=std::locale() ) > Seq& trim_in( Seq& Input, const std::locale& Loc=std::locale() ) This is in accordance with my confusion :-) What has a locale to do with a generic sequence? If I imagine a generalized trim function (say, a function that removes all the odd numbers from the beginning and the end of a vector<int>) I imagine, type requirements about the iterators etc. aside, signatures like: template <typename Iterator, typename Elem> Iterator trim (Iterator start, Iterator end, Elem const &); template <typename Iterator, typename Pred> Iterator trim (Iterator start, Iterator end, Pred pred); It seems that either the design is seriously flawed or (more likely) I'm missing something. Genny. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost