[#BloombergLP-balst-StackTraceFrame] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balst.adoc[balst]::StackTraceFrame :relfileprefix: ../../ :mrdocs: 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 section for infromation on the class attributes. Note that the class invariants are identically the constraints on the individual attributes. == Synopsis Declared in `<balst_stacktraceframe.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class StackTraceFrame; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balst/StackTraceFrame/2constructor-0b5.adoc[`StackTraceFrame`] [.small]#[constructor]# | Constructors | xref:BloombergLP/balst/StackTraceFrame/2destructor.adoc[`~StackTraceFrame`] [.small]#[destructor]# | Destroy this object. | xref:BloombergLP/balst/StackTraceFrame/operator_assign.adoc[`operator=`] | Assign to this object the value of the specified `rhs` object, and return a reference providing modifiable access to this object. | xref:BloombergLP/balst/StackTraceFrame/address.adoc[`address`] | Return the value of `address` attribute of this object. Note that `(void *)0` indicates that the `address` is "unknown". | xref:BloombergLP/balst/StackTraceFrame/allocator.adoc[`allocator`] | 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. | xref:BloombergLP/balst/StackTraceFrame/isAddressKnown.adoc[`isAddressKnown`] | Return `true` if the `setAddress` attribute of this object is not the "unknown" value for that attribute, and `false` otherwise. | xref:BloombergLP/balst/StackTraceFrame/isLibraryFileNameKnown.adoc[`isLibraryFileNameKnown`] | Return `true` if the `libraryFileName` attribute of this object is not the "unknown" value for that attribute, and `false` otherwise. | xref:BloombergLP/balst/StackTraceFrame/isLineNumberKnown.adoc[`isLineNumberKnown`] | Return `true` if the `lineNumber` attribute of this object is not the "unknown" value for that attribute, and `false` otherwise. | xref:BloombergLP/balst/StackTraceFrame/isMangledSymbolNameKnown.adoc[`isMangledSymbolNameKnown`] | Return `true` if the `mangledSymbolName` attribute of this object is not the "unknown" value for that attribute, and `false` otherwise. | xref:BloombergLP/balst/StackTraceFrame/isOffsetFromSymbolKnown.adoc[`isOffsetFromSymbolKnown`] | Return `true` if the `offsetFromSymbol` attribute of this object is not the "unknown" value for that attribute, and `false` otherwise. | xref:BloombergLP/balst/StackTraceFrame/isSourceFileNameKnown.adoc[`isSourceFileNameKnown`] | Return `true` if the `sourceFileName` attribute of this object is not the "unknown" value for that attribute, and `false` otherwise. | xref:BloombergLP/balst/StackTraceFrame/isSymbolNameKnown.adoc[`isSymbolNameKnown`] | Return `true` if the `symbolName` attribute of this object is not the "unknown" value for that attribute, and `false` otherwise. | xref:BloombergLP/balst/StackTraceFrame/libraryFileName.adoc[`libraryFileName`] | Return a reference providing non‐modifiable access to the `libraryFileName` attribute of this object. Note the empty string indicates that the `libraryFileName` is "unknown". | xref:BloombergLP/balst/StackTraceFrame/lineNumber.adoc[`lineNumber`] | Return the value of the `lineNumber` attribute of this object. Note that ‐1 indicates that `lineNumber` is "unknown". | xref:BloombergLP/balst/StackTraceFrame/mangledSymbolName.adoc[`mangledSymbolName`] | Return a reference providing non‐modifiable access to the `mangledSymbolName` attribute of this object. Note that the empty string indicates that `mangledSymbolName` is "unknown". | xref:BloombergLP/balst/StackTraceFrame/offsetFromSymbol.adoc[`offsetFromSymbol`] | Return the value of the `offsetFromSymbol` attribute of this object. Note that `(bsl::size_t)‐1` indicates that `lineNumber` is not known. | xref:BloombergLP/balst/StackTraceFrame/print.adoc[`print`] | 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. | xref:BloombergLP/balst/StackTraceFrame/setAddress.adoc[`setAddress`] | Set the `address` attribute of this object to the specified `value`. Note that the value `(void *)0)` indicates that `address` is "unknown". | xref:BloombergLP/balst/StackTraceFrame/setLibraryFileName.adoc[`setLibraryFileName`] | Set the `libraryFileName` attribute of this object to the specified `value`. Note that the empty string indicates the `libraryFileName` is "unknown". | xref:BloombergLP/balst/StackTraceFrame/setLineNumber.adoc[`setLineNumber`] | 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". | xref:BloombergLP/balst/StackTraceFrame/setMangledSymbolName.adoc[`setMangledSymbolName`] | Set the `mangledSymbolName` attribute of this object to the specified `value`. Note that the empty string indicates that the `mangledSymbolName` is "unknown". | xref:BloombergLP/balst/StackTraceFrame/setOffsetFromSymbol.adoc[`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". | xref:BloombergLP/balst/StackTraceFrame/setSourceFileName.adoc[`setSourceFileName`] | Set the `sourceFileName` attribute of this object to the specified `value`. Note that the empty string indicates that `sourceFileName` is "unknown". | xref:BloombergLP/balst/StackTraceFrame/setSymbolName.adoc[`setSymbolName`] | Set the `symbolName` attribute of this object to the specified `value`. Note that the empty string indicates that `symbolName` is "unknown". | xref:BloombergLP/balst/StackTraceFrame/sourceFileName.adoc[`sourceFileName`] | Return a reference providing non‐modifiable access to the `sourceFileName` attribute of this object. Note that the empty string indicates that `sourceFileName` is "unknown". | xref:BloombergLP/balst/StackTraceFrame/swap.adoc[`swap`] | 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`. | xref:BloombergLP/balst/StackTraceFrame/symbolName.adoc[`symbolName`] | Return a reference providing non‐modifiable access to the `symbolName` attribute of this object. Note that the empty string indicates that `symbolName` is "unknown". | xref:BloombergLP/balst/StackTraceFrame/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<StackTraceFrame, UsesBslmaAllocator>`] | `StackTraceFrame` uses a `bslma` allocator for its string members. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balst/operator_not_eq-08a.adoc[`operator!=`] | Return `true` if the specified `lhs` and `rhs` objects do not have the same value, and `false` otherwise. Two `StackTraceFrame` objects do not have the same value if the corresponding values of their `address`, `libraryFileName`, `lineNumber`, `mangledSymbolName`, `offsetFromSymbol`, `sourceFileName`, or `symbolName` attributes are the not same. | xref:BloombergLP/balst/operator_eq-0c.adoc[`operator==`] | Return `true` if the specified `lhs` and `rhs` objects have the same value, and `false` otherwise. Two `StackTraceFrame` objects have the same value if the corresponding values of their `address`, `libraryFileName`, `lineNumber`, `mangledSymbolName`, `offsetFromSymbol`, `sourceFileName`, and `symbolName` attributes are the same. | xref:BloombergLP/balst/swap-034.adoc[`swap`] | Exchange the values of the specified `a` and `b` objects. This function provides the no‐throw exception‐safety guarantee if the two objects were created with the same allocator and the basic guarantee otherwise. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#