The following base icons are used to represent code items:

Header file
C/C++ file
Directory
Module
Macro
Namespace
Class
Enum
Enumerator
Union
Struct
Type / Typedef (but not class, union or struct)
Function declaration
Function definition
Private function declaration
Private function definition
Protected function declaration
Protected function definition
Variable / data definition
Variable / data declaration
Private variable / data definition
Protected variable / data definition
Unknown

The following overlays to the above Class/Enum/Struct/Typedef/Union icons further indicate:

Private
Protected

An incoming arrow overlay on a code item indicates that it has been manipulated as a consequence of merge rules. These overlays are propagated up the hierarchy. So a folder with a faded arrow overlay indicates that it contains at least one such "munged" code item.

Code items that are templates are adorned with a 't' overlay. Template instances (only visible with the Show templates project option) are adorned with a blue triangle top-right.