TotalView Reference Guide : Part I: CLI Commands : Creating Type Transformations : Why Type Transformations
Why Type Transformations
Modern programming languages allow you to use abstractions such as structures, class, and STL data types such as lists, maps, and vectors to model the data that your program uses. For example, the STL (Standard Template Library) allows you to create vectors of the data contained within a class. These abstractions simplify the way in which you think of and manipulate program’s data. These abstractions can also complicate the way in which you debug your program because it may be nearly impossible or very inconvenient to examine your program’s data. For example, Figure 6 shows a vector transformation.
 
Figure 6: A Vector Transformation
 
The upper left window shows untransformed information. In this example, TotalView displays the complete structure of this GNU C++ STL structure. This means that you are seeing the data exactly as your compiler created it.
The logical model that is the reason for using an STL vector is buried within this information. Neither TotalView nor your compiler has this information. This is where type transformations come in. They give TotalView knowledge of how the data is structured and how it can access data elements. The bottom Variable Window shows how TotalView reorganizes this information.
*Transforming STL strings, vectors, lists, and maps is the TotalView default. If you do not want TotalView to transform your information, select the Options Tab within the File > Preferences Dialog Box and then remove the check mark from View simplified STL containers (and user-defined transformations).