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...