~ubuntu-branches/ubuntu/jaunty/aspectc++/jaunty

« back to all changes in this revision

Viewing changes to Puma/gen-release/step1/inc/Puma/CTypeList.h

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2008-07-07 14:41:02 UTC
  • mfrom: (1.1.3 upstream) (6.1.1 lenny)
  • Revision ID: james.westby@ubuntu.com-20080707144102-lzml7t07f3sl00r5
Tags: 1.0pre4~svn.20080711-1
* new upstream snapshot.
* include all upstream documentation. Clarifying emails regarding
  licensing has been included into debian/copyright.
* reformat description following recomendations of
  http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description
  (Closes: #480316)

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
#ifndef __CTypeList_h__
20
20
#define __CTypeList_h__
21
21
 
 
22
/** \file
 
23
 *  Type list. */
 
24
 
22
25
#include "Puma/Array.h"
23
26
 
24
27
namespace Puma {
27
30
class CTypeInfo;
28
31
class CT_ArgDeclList;
29
32
 
 
33
 
 
34
/** \class CTypeList CTypeList.h Puma/CTypeList.h
 
35
 *  %List of types. Used for instance for the list of function
 
36
 *  parameter types. */
30
37
class CTypeList {
31
38
  Array<CTypeInfo*> _List;
32
39
  CT_ArgDeclList *_ArgumentList;
33
40
 
34
41
public:
 
42
  /** Constructor. 
 
43
   *  \param len The initial length of the list. */
35
44
  CTypeList (int len = 3);
 
45
  /** Destructor. */
36
46
  ~CTypeList ();
37
47
 
 
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);
41
57
  
 
58
  /** Get the argument declaration list for K&R functions. */
42
59
  CT_ArgDeclList *ArgumentList () const;
43
 
  void ArgumentList (CT_ArgDeclList *);
44
 
  
45
 
  void AddEntry (CTypeInfo *);
46
 
  
 
60
  /** Set the argument declaration list for K&R functions. 
 
61
   *  \param args The argument declaration list. */
 
62
  void ArgumentList (CT_ArgDeclList *args);
 
63
  
 
64
  /** Add a type to the list.
 
65
   *  \param type The type to add. */
 
66
  void AddEntry (CTypeInfo *type);
 
67
  
 
68
  /** Check if one of the types in the list depends on 
 
69
   *  a template parameter. */
47
70
  bool isDependent () const;
48
71
};
49
72