BDE 4.14.0 Production release
|
#include <balst_stacktraceframe.h>
This simply constrained (value-semantic) attribute class describes a call frame created on the execution stack when a parent function calls a child function. Supplementary predicate methods indicate whether a given attribute value is considered "unknown". See the Attributes section for infromation on the class attributes. Note that the class invariants are identically the constraints on the individual attributes.
|
inlineexplicit |
Create a StackTraceFrame
object having the (default) attribute values:
Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used.
|
inline |
Create a local time descriptor object having the specified address
, libraryFileName
, lineNumber
, mangledSymbolName
, offsetFromSymbol
, sourceFileName
, and symbolName
attribute values. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used. The behavior is undefined unless -1 <= lineNumber
.
|
inline |
Create a StackTraceFrame
object having the same value as the specified original
object. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used.
|
inline |
|
inline |
Return the value of address
attribute of this object. Note that (void *)0
indicates that the address
is "unknown".
|
inline |
Return the allocator used by this object to supply memory. Note that if no allocator was supplied at construction the currently installed default allocator is used.
balst::StackTraceFrame::BSLMF_NESTED_TRAIT_DECLARATION | ( | StackTraceFrame | , |
bslma::UsesBslmaAllocator | |||
) |
|
inline |
Return true
if the setAddress
attribute of this object is not the "unknown" value for that attribute, and false
otherwise.
|
inline |
Return true
if the libraryFileName
attribute of this object is not the "unknown" value for that attribute, and false
otherwise.
|
inline |
Return true
if the lineNumber
attribute of this object is not the "unknown" value for that attribute, and false
otherwise.
|
inline |
Return true
if the mangledSymbolName
attribute of this object is not the "unknown" value for that attribute, and false
otherwise.
|
inline |
Return true
if the offsetFromSymbol
attribute of this object is not the "unknown" value for that attribute, and false
otherwise.
|
inline |
Return true
if the sourceFileName
attribute of this object is not the "unknown" value for that attribute, and false
otherwise.
|
inline |
Return true
if the symbolName
attribute of this object is not the "unknown" value for that attribute, and false
otherwise.
|
inline |
Return a reference providing non-modifiable access to the libraryFileName
attribute of this object. Note the empty string indicates that the libraryFileName
is "unknown".
|
inline |
Return the value of the lineNumber
attribute of this object. Note that -1 indicates that lineNumber
is "unknown".
|
inline |
Return a reference providing non-modifiable access to the mangledSymbolName
attribute of this object. Note that the empty string indicates that mangledSymbolName
is "unknown".
|
inline |
Return the value of the offsetFromSymbol
attribute of this object. Note that (bsl::size_t)-1
indicates that lineNumber
is not known.
|
inline |
Assign to this object the value of the specified rhs
object, and return a reference providing modifiable access to this object.
bsl::ostream & balst::StackTraceFrame::print | ( | bsl::ostream & | stream, |
int | level = 0 , |
||
int | spacesPerLevel = 4 |
||
) | const |
Write the value of this object to the specified output stream
in a human-readable format, and return a reference to stream
. Optionally specify an initial indentation level
, whose absolute value is incremented recursively for nested objects. If level
is specified, optionally specify spacesPerLevel
, whose absolute value indicates the number of spaces per indentation level for this and all of its nested objects. If level
is negative, suppress indentation of the first line. If spacesPerLevel
is negative, format the entire output on one line, suppressing all but the initial indentation (as governed by level
). If stream
is not valid on entry, this operation has no effect. Note that the format is not fully specified, and can change without notice.
|
inline |
Set the address
attribute of this object to the specified value
. Note that the value (void *)0)
indicates that address
is "unknown".
|
inline |
Set the libraryFileName
attribute of this object to the specified value
. Note that the empty string indicates the libraryFileName
is "unknown".
|
inline |
Set the lineNumber
attribute of this object to the specified value
. The behavior is undefined unless -1 <= value
. Note that the value -1 indicates the lineNumber
is "unknown".
|
inline |
Set the mangledSymbolName
attribute of this object to the specified value
. Note that the empty string indicates that the mangledSymbolName
is "unknown".
|
inline |
Set the offsetFromSymbol
attribute of this object to the specified value
. Note that the value (bsl::size_t)-1
indicates that offsetFromSymbol
is "unknown".
|
inline |
Set the sourceFileName
attribute of this object to the specified value
. Note that the empty string indicates that sourceFileName
is "unknown".
|
inline |
Set the symbolName
attribute of this object to the specified value
. Note that the empty string indicates that symbolName
is "unknown".
|
inline |
Return a reference providing non-modifiable access to the sourceFileName
attribute of this object. Note that the empty string indicates that sourceFileName
is "unknown".
void balst::StackTraceFrame::swap | ( | StackTraceFrame & | other | ) |
Efficiently exchange the value of this object with the value of the specified other
object. This method provides the no-throw exception-safety guarantee. The behavior is undefined unless this object was created with the same allocator as other
.
|
inline |
Return a reference providing non-modifiable access to the symbolName
attribute of this object. Note that the empty string indicates that symbolName
is "unknown".