The `#' Type Descriptor
=======================
This is used to describe a class method. This is a function which
takes an extra argument as its first argument, for the `this' pointer.
If the `#' is immediately followed by another `#', the second one
will be followed by the return type and a semicolon. The class and
argument types are not specified, and must be determined by demangling
the name of the method if it is available.
Otherwise, the single `#' is followed by the class type, a comma,
the return type, a comma, and zero or more parameter types separated by
commas. The list of arguments is terminated by a semicolon. In the
debugging output generated by gcc, a final argument type of `void'
indicates a method which does not take a variable number of arguments.
If the final argument type of `void' does not appear, the method was
declared with an ellipsis.
Note that although such a type will normally be used to describe
fields in structures, unions, or classes, for at least some versions of
the compiler it can also be used in other contexts.