Puma Reference Manual Puma: Puma::CRecord Class Reference



Puma::CRecord Class Reference

Semantic information about a class or union. More...

#include <Puma/CRecord.h>

Inherits Puma::CStructure.

Inherited by Puma::CClassInfo, and Puma::CUnionInfo.

List of all members.

Public Member Functions

 ~CRecord ()
 Destructor.
CTemplateInfoTemplateInfo () const
 Get the template information if this is a class or union template.
void TemplateInfo (CTemplateInfo *info)
 Set the template information of a class/union template.
void QualifiedScope (CStructure *scope)
 Set the qualification scope of a nested class or union or class/union declared in a namespace.
bool isComplete (unsigned long pos=0) const
 Check if the class/union is complete (defined) at the given source code position.
bool isDefined () const
 Check if the class/union is defined.
bool isTemplate () const
 Check if the class/union is a template.
bool isHiddenForwardDecl () const
 Check if this is a class/union forward declaration hidden by another declaration in the same scope.
bool hasTrivialAssign () const
 Yields true if the class has a trivial copy assignment operator.
bool hasTrivialCopy () const
 Yields true if the class has a trivial copy constructor.
bool hasTrivialCtor () const
 Yields true if the class has a trivial default constructor.
bool hasTrivialDtor () const
 Yields true if the class has a trivial destructor.
void isTemplate (bool v)
 Set whether this class/union is a template.
void isHiddenForwardDecl (bool v)
 Set whether this is a class/union forward declaration hidden by another declaration in the same scope.

Protected Member Functions

 CRecord (ObjectId id)
 Constructor.

Detailed Description

Semantic information about a class or union.


Constructor & Destructor Documentation

Puma::CRecord::CRecord ( CObjectInfo::ObjectId  id  )  [inline, protected]

Constructor.

Parameters:
id The object type.
Puma::CRecord::~CRecord (  ) 

Destructor.


Member Function Documentation

bool Puma::CRecord::hasTrivialAssign (  )  const

Yields true if the class has a trivial copy assignment operator.

bool Puma::CRecord::hasTrivialCopy (  )  const

Yields true if the class has a trivial copy constructor.

bool Puma::CRecord::hasTrivialCtor (  )  const

Yields true if the class has a trivial default constructor.

bool Puma::CRecord::hasTrivialDtor (  )  const

Yields true if the class has a trivial destructor.

bool Puma::CRecord::isComplete ( unsigned long  pos = 0  )  const

Check if the class/union is complete (defined) at the given source code position.

The position is specified by the unique number of the CT_Token tree node representing the name of the class/union.

Parameters:
pos The source code position.
bool Puma::CRecord::isDefined (  )  const

Check if the class/union is defined.

void Puma::CRecord::isHiddenForwardDecl ( bool  v  )  [inline]

Set whether this is a class/union forward declaration hidden by another declaration in the same scope.

Parameters:
v true if it is a hidden forward declaration.
bool Puma::CRecord::isHiddenForwardDecl (  )  const [inline]

Check if this is a class/union forward declaration hidden by another declaration in the same scope.

void Puma::CRecord::isTemplate ( bool  v  )  [inline]

Set whether this class/union is a template.

Parameters:
v true if it is a template.
bool Puma::CRecord::isTemplate (  )  const [inline]

Check if the class/union is a template.

Reimplemented from Puma::CObjectInfo.

void Puma::CRecord::QualifiedScope ( CStructure scope  )  [inline]

Set the qualification scope of a nested class or union or class/union declared in a namespace.

Parameters:
scope The qualification scope.
void Puma::CRecord::TemplateInfo ( CTemplateInfo info  )  [inline]

Set the template information of a class/union template.

Parameters:
info The template information.
CTemplateInfo * Puma::CRecord::TemplateInfo (  )  const [inline]

Get the template information if this is a class or union template.

Returns:
The template information or NULL if not a template.

Reimplemented from Puma::CObjectInfo.




Puma Reference Manual. Created on 18 Sep 2009.