#include <symbol_name.h>
This represents a symbol name, such as `i', `NS::x', `Class::Class' or `Foo::operator='.
If the symbol is a template, as in `vector<Foo>', is_template() is true.
Special case: the last component may also be "*", as in `Class::*', to represent member pointers.
In addition, this class is a container for name mangling related stuff.