28
31
class CT_ArgDeclList;
34
/** \class CTypeList CTypeList.h Puma/CTypeList.h
35
* %List of types. Used for instance for the list of function
31
38
Array<CTypeInfo*> _List;
32
39
CT_ArgDeclList *_ArgumentList;
43
* \param len The initial length of the list. */
35
44
CTypeList (int len = 3);
48
/** Get the number of types in the list. */
38
49
unsigned Entries () const;
39
CTypeInfo *Entry (unsigned) const;
40
void ReplaceEntry (unsigned, CTypeInfo *);
50
/** Get the n-th type.
51
* \param n The index of the type. */
52
CTypeInfo *Entry (unsigned n) const;
53
/** Replace the n-th type in the list by the given type.
54
* \param n The index of the type to replace.
55
* \param type The new type. */
56
void ReplaceEntry (unsigned n, CTypeInfo *type);
58
/** Get the argument declaration list for K&R functions. */
42
59
CT_ArgDeclList *ArgumentList () const;
43
void ArgumentList (CT_ArgDeclList *);
45
void AddEntry (CTypeInfo *);
60
/** Set the argument declaration list for K&R functions.
61
* \param args The argument declaration list. */
62
void ArgumentList (CT_ArgDeclList *args);
64
/** Add a type to the list.
65
* \param type The type to add. */
66
void AddEntry (CTypeInfo *type);
68
/** Check if one of the types in the list depends on
69
* a template parameter. */
47
70
bool isDependent () const;