Charles is a data structure library for Ada95, modelled principally on the C++ STL. It features both ordered (lists and arrays) and unordered (sets and maps) collections. In addition to lists and vectors, the Charles library has set, multi-set, map, and multi-map data structure types.