Below the major design decisions of this library are summarized.
Formally, three strings are copied. Due to the feature sketched above, a Modelica tool can replace this copy operation by pointer assignments, a very "cheap" operation. The Modelica.Utilities functions will perform efficiently, if such types of optimizations are supported by the tool.String s[:], s_temp; ... s_temp := s[i]; s[i] := s[j]; s[j] := s_temp;