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

« back to all changes in this revision

Viewing changes to Puma/gen-release/step1/inc/Puma/CTypeMemberPointer.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 __CTypeMemberPointer_h__
20
20
#define __CTypeMemberPointer_h__
21
21
 
 
22
/** \file
 
23
 *  Type of a member pointer. */
 
24
 
22
25
#ifndef __CTypeInfo_h__
23
26
#warning !!!      DO NOT INCLUDE THIS FILE      !!!  
24
27
#warning !!! INCLUDE FILE "CTypeInfo.h" INSTEAD !!!  
31
34
class CRecord;
32
35
class CTemplateParamInfo;
33
36
 
 
37
 
 
38
/** \class CTypeMemberPointer CTypeMemberPointer.h Puma/CTypeInfo.h
 
39
 *  Type of a member pointer. 
 
40
 *  Examples: 
 
41
 *  \code 
 
42
 * struct X { int a; void f(int); };
 
43
 * int X::* aptr = &X::a;          // aptr has type 'member pointer to int'
 
44
 *                                 // type structure:
 
45
 *                                 // CTypeMemberPointer class=X
 
46
 *                                 //   CTypePrimitive int
 
47
 * void (X::*fptr)(int) = &X::f;   // fptr has type 'member pointer to function returning void with one argument int'
 
48
 *                                 // type structure:
 
49
 *                                 // CTypeMemberPointer class=X
 
50
 *                                 //   CTypeFunction args=int
 
51
 *                                 //     CTypePrimitive void
 
52
 *  \endcode */
34
53
class CTypeMemberPointer : public CTypePointer {
35
54
  CObjectInfo *_Class;
36
55
 
37
56
public:
38
 
  CTypeMemberPointer (CTypeInfo *, CObjectInfo *);
 
57
  /** Constructor. Type has id CTypeInfo::TYPE_MEMBER_POINTER.
 
58
   *  \param base The base type (type of the member). 
 
59
   *  \param info The class containing the member. */
 
60
  CTypeMemberPointer (CTypeInfo *base, CObjectInfo *info);
 
61
  /** Destructor. */
39
62
  ~CTypeMemberPointer ();
40
63
 
 
64
  /** Get the class or union containing the member. */
41
65
  CRecord *Record () const;
 
66
  /** Get the template parameter information if the member's 
 
67
   *  class is a type template parameter. */
42
68
  CTemplateParamInfo *TemplateParam () const;
43
69
};
44
70