Creates Argument(range, 0, 0, 0, true)
Creates Argument(range, range, range, 0)
Creates Argument(range, 0, range, range)
Ranges of type, name and value not including commas or parentheses, but being right next to them. For calls this is the only important and accurate value.
Range of just the name
Range of just the type, or for templates also alias
Range of just the default value
True if the type declaration is variadic (using ...), or without typeRange a completely variadic argument