Boost logo

Boost :

From: Shunsuke Sogame (mb2act_at_[hidden])
Date: 2006-07-03 13:36:17


Jeff Garland wrote:
> Well, I went about 50% of the way on this. You'll notice that for some things
> there are non-modifying variations.
>
>
> basic_super_string trim_copy() const;
> basic_super_string trim_left_copy() const;
> basic_super_string trim_right_copy() const;
>
> basic_super_string to_lower_copy() const;
> basic_super_string to_upper_copy() const;
>
> I just got tired and didn't add all the variations for replace_xxx. Of course
> that makes the interface even fatter :-)

Apart from optimization, the future (under range proposal)
'to_upper' might be:

     std::vector<char> const rng;
     std::string dst(rng|to_upper);

The following is possible today:

     std::string dst = range_construct(rng|to_upper);
     range_copy(rng|to_upper|to_lower|to_upper, dst);

Note that '|to_upper' is lazy.

Well, IMHO, I prefer free-functions for another readability:

     ::CString rng;
     boost::to_upper(rng);

     std::vector<char> rng;
     boost::to_upper(rng);

     super_string str;
     str.to_upper(); // !

-- 
Shunsuke Sogame

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk