python class StringVisualizer: def to_string (self, v): # FIXME: catch any exceptions accessing bogus memory data = v.get_element ("_M_dataplus") return str (data.get_element ("_M_p")) class VectorVisualizer: def children (self, v): result = [] impl = v.get_element ('_M_impl') start = impl.get_element ('_M_start') finish = impl.get_element ('_M_finish') current = start index = 0 while not current.equals(finish): result.append((str(index), current.dereference())) current = current.increment(1) index = index + 1 return result end #interpreter-exec mi2 "-var-set-type-visualizer string StringVisualizer"