Ecriture générique pour manipuler des (w)string
J'hésite entre deux écritures pour un même résultat:
Code:
1 2
| template<typename C, typename Tr, typename Al>
void all_trim(std::basic_string<C, Tr, Al> & s, C const *cs) |
Code:
1 2
| template<typename S>
void all_trim(S & s, S::value_type const *cs) |
Jusqu'à présent j'avais tendance à utiliser la première écriture pour mes petites fonctions de manipulations de (w)string, mais je suis en train de revoir ma copie pour utiliser la deuxième. C'est plus court et plus simple finalement.
Et ça me permet d'écrire ceci par exemple:
Code:
1 2 3 4 5 6 7
| template<typename S>
S trim(S && s, S::value_type const *cs)
{
S ms(std::forward<S>(s));
all_trim(ms, cs);
return ms;
} |
Des avis ?
Merci.