Puma Reference Manual | Puma: 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.
Public Member Functions | |
~CRecord () | |
Destructor. | |
CTemplateInfo * | TemplateInfo () 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. |
Semantic information about a class or union.
Puma::CRecord::CRecord | ( | CObjectInfo::ObjectId | id | ) | [inline, protected] |
Constructor.
id | The object type. |
Puma::CRecord::~CRecord | ( | ) |
Destructor.
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.
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.
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.
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.
scope | The qualification scope. |
void Puma::CRecord::TemplateInfo | ( | CTemplateInfo * | info | ) | [inline] |
Set the template information of a class/union template.
info | The template information. |
CTemplateInfo * Puma::CRecord::TemplateInfo | ( | ) | const [inline] |
Get the template information if this is a class or union template.
Reimplemented from Puma::CObjectInfo.