Implementing String class via ArraySequence and ListSequence which both uses ISequence as interface and they both are just wrapper for basic classe as DynamicArray and List.
Utils is used for exception handling and some debug features.
#class_name#Implementation.hpp is just file with definitions of #class_name#. I use it to separate declaration and definitions.
StringVector is a C++ string implemented via ArraySequence
StringList is a C++ string implemented via ListSequence