Boost logo

Boost :

From: Pavol Droba (droba_at_[hidden])
Date: 2003-10-25 16:31:05


On Sat, Oct 25, 2003 at 09:20:12PM +0100, Paul A. Bristow wrote:
>
>
> | -----Original Message-----
> | From: boost-bounces_at_[hidden]
> | [mailto:boost-bounces_at_[hidden]]On Behalf Of Pavol Droba
> | Sent: Friday, October 24, 2003 3:31 PM
> | To: Boost mailing list
> | Subject: Re: [boost] Re: string algorithms review
>
> | > 2 The suffix should be _copy and _copyto.
> |
> | Why? Could you plese provide rationale for this.
> |
>
> Because it is shorter and if the code is trim_copyto(s) is reads as though the
> 'to' means it goes to s.

what about meaning 'trim' the 'copy' -> trim_copy

> (Of course, a rational language would specify in, out, or in&out but I won't
> stir that hornets nest again!)
>
> But actually I really rather like Rob Stewart's trimmed' suggestion.
>
> Both
>
> std::string t(trimmed(s));
>
> or even if t already exists (poor but what novice and ex-C programmers may do)
>
> t = trimmed(s)
>
> seems to me to imply that nothing is done to s.
>
> But to_uppered(s) or uppered is not so nice, but still just OK?
>
> And what about concatentation t += trimmed(s);
>
> and addition string full_name = trimmed(forename) + substr( trimmed(surname); ?
>
> Since we already have protection against misuse,
> this seems quite attractive to me.
>

I have some counterarguments.

- It is possible to used _copy as a convention for every algorithm in the library.
- for trim and trim_copy, it is obvious, that they are variant of the same algorithm.
  It is not so obvious for trim and trimmed.
- If we adopt the convention you are proposing, it could be quite chalenging
  to makeup the names for algorithms like replace_first ( ?first_replaced? ) or even worse,
  replce_all_regex.
  When names are concatenated from multiple words, adding a suffix, does not break anything,

- This convention is backedup by STL, so people are used to it.

Regards,

Pavol


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