Not obvious though, since such additional functionality can often be added by extending the interface with non-member non-friend functions with no or negligible loss of efficiency. In fact, I recall that Sutter used std::basic_string as an example of a string class with too bloated a core interface such that it is monolithic.Originally Posted by Elkvis