This simply constrained (value‐semantic) attribute class describes a call frame created on the execution stack when a parent function calls a child function.

Synopsis

Declared in <balst_stacktraceframe.h>

class StackTraceFrame;

Description

Supplementary predicate methods indicate whether a given attribute value is considered "unknown". See the section for infromation on the class attributes. Note that the class invariants are identically the constraints on the individual attributes.

Member Functions

Name

Description

StackTraceFrame [constructor]

Constructors

~StackTraceFrame [destructor]

Destroy this object.

operator=

Assign to this object the value of the specified rhs object, and return a reference providing modifiable access to this object.

address

Return the value of address attribute of this object. Note that (void *)0 indicates that the address is "unknown".

allocator

Return the allocator used by this object to supply memory.

isAddressKnown

Return true if the setAddress attribute of this object is not the "unknown" value for that attribute, and false otherwise.

isLibraryFileNameKnown

Return true if the libraryFileName attribute of this object is not the "unknown" value for that attribute, and false otherwise.

isLineNumberKnown

Return true if the lineNumber attribute of this object is not the "unknown" value for that attribute, and false otherwise.

isMangledSymbolNameKnown

Return whether the mangled symbol name attribute is known.

isOffsetFromSymbolKnown

Return true if the offsetFromSymbol attribute of this object is not the "unknown" value for that attribute, and false otherwise.

isSourceFileNameKnown

Return true if the sourceFileName attribute of this object is not the "unknown" value for that attribute, and false otherwise.

isSymbolNameKnown

Return true if the symbolName attribute of this object is not the "unknown" value for that attribute, and false otherwise.

libraryFileName

Return a reference providing non‐modifiable access to the libraryFileName attribute of this object.

lineNumber

Return the value of the lineNumber attribute of this object. Note that ‐1 indicates that lineNumber is "unknown".

mangledSymbolName

Return a reference providing non‐modifiable access to the mangledSymbolName attribute of this object.

offsetFromSymbol

Return the value of the offsetFromSymbol attribute of this object. Note that (bsl::size_t)‐1 indicates that lineNumber is not known.

print

Format this object to the specified output stream.

setAddress

Set the address attribute of this object to the specified value. Note that the value (void *)0) indicates that address is "unknown".

setLibraryFileName

Set the libraryFileName attribute of this object to the specified value. Note that the empty string indicates the libraryFileName is "unknown".

setLineNumber

Set the lineNumber attribute of this object to the specified value.

setMangledSymbolName

Set the mangledSymbolName attribute of this object to the specified value. Note that the empty string indicates that the mangledSymbolName is "unknown".

setOffsetFromSymbol

Set the offsetFromSymbol attribute of this object to the specified value. Note that the value (bsl::size_t)‐1 indicates that offsetFromSymbol is "unknown".

setSourceFileName

Set the sourceFileName attribute of this object to the specified value.

setSymbolName

Set the symbolName attribute of this object to the specified value. Note that the empty string indicates that symbolName is "unknown".

sourceFileName

Return a reference providing non‐modifiable access to the sourceFileName attribute of this object.

swap

Efficiently exchange the value of this object with the value of the specified other object.

symbolName

Return a reference providing non‐modifiable access to the symbolName attribute of this object.

operator BloombergLP::bslmf::NestedTraitDeclaration<StackTraceFrame, UsesBslmaAllocator>

StackTraceFrame uses a bslma allocator for its string members.

Non-Member Functions

Name

Description

operator!=

Return true if the specified lhs and rhs objects do not have the same value, and false otherwise.

operator==

Return true if the specified lhs and rhs objects have the same value, and false otherwise.

swap

Exchange the values of the specified a and b objects.

Created with MrDocs