Transform strings
The std::string class is a contiguous container, much like a vector or an array. It supports the contiguous_iterator concept and all corresponding algorithms.
The string class is a specialization of basic_string with a char type. This means that the elements of the container are of type char. Other specializations are available, but string is most common.
Because it is fundamentally a contiguous container of char elements, string may be used with the transform() algorithm, or any other technique that uses the contiguous_iterator concept.
How to do it…
There are several ways to do transformations, depending on the application. This recipe will explore a few of them.
- We'll start with a few predicate functions. A predicate function takes a transformation element and returns a related element. For example, here is a simple predicate that returns an upper-case character:
char char_upper(const char& c) { Â Â Â Â return...