Puma Reference Manual Puma: Puma::CRecord Class Reference



Puma::CRecord Class Reference

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

#include <Puma/CRecord.h>

Inheritance diagram for Puma::CRecord:
Inheritance graph

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:
idThe 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:
posThe source code position.
bool Puma::CRecord::isDefined ( ) const

Check if the class/union is defined.

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::isHiddenForwardDecl ( bool  v) [inline]

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

Parameters:
vtrue if it is a hidden forward declaration.
void Puma::CRecord::isTemplate ( bool  v) [inline]

Set whether this class/union is a template.

Parameters:
vtrue 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:
scopeThe qualification scope.
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.

void Puma::CRecord::TemplateInfo ( CTemplateInfo info) [inline]

Set the template information of a class/union template.

Parameters:
infoThe template information.