# typename

associates a name to variable type

## Calling Sequence

    [types [ [,names]]=typename()
                typename(name, type)

## Arguments

types

  an integer column vector: the types codes of each defined data types.

names

  a column vector of strings: the names associated to type codes.

type

  an integer: the type code of new data type.

name

  a string: the name associated to the type code.

## Description

The function and operator overloading make use of a formal name associated to data types to form the name of the overloading function (see overloading). The `typename` can be used to handle this formal names for hard coded data types (the `tlist` or `mlist` coded data types formal names are defined in an other way, see overloading).

Called without right hand side argument, `typename` returns information on defined data types.

Called with right hand side argument, `typename` associates a name to a data type code.

`typename('',type)` suppress the data type given by its code `type` out of the table of known data types.

Number max. of defined types is 50.

## Examples

    [typs,nams]=typename();
    disp("First type (double) : " + string(typs(1)) + " / " + nams(1));
    typename("mytype",1024);
    [typs,nams]=typename();
    disp(typs($))
    disp(nams($)) // returns mytype

## See Also

- type
- typeof
- overloading
- tlist
- mlist