|
| BSLMF_NESTED_TRAIT_DECLARATION (Context, bslma::UsesBslmaAllocator) |
|
| Context (bslma::Allocator *basicAllocator=0) |
|
| Context (Transmission::Cause transmissionCause, int recordIndex, int sequenceLength, bslma::Allocator *basicAllocator=0) |
|
| Context (const Context &original, bslma::Allocator *basicAllocator=0) |
|
| ~Context ()=default |
| Destroy this object.
|
|
Context & | operator= (const Context &rhs) |
|
int | setAttributes (Transmission::Cause transmissionCause, int recordIndex, int sequenceLength) |
|
void | setAttributesRaw (Transmission::Cause transmissionCause, int recordIndex, int sequenceLength) |
|
void | setRecordIndexRaw (int index) |
|
Transmission::Cause | transmissionCause () const |
| Return the transmission cause attribute of this context object.
|
|
int | recordIndex () const |
| Return the record index attribute of this context object.
|
|
int | sequenceLength () const |
| Return the sequence length attribute of this context object.
|
|
bsl::ostream & | print (bsl::ostream &stream, int level=0, int spacesPerLevel=4) const |
|
This class provides a container for aggregating the auxiliary information needed to transmit a log record. For each context attribute in this class (e.g., recordIndex
), there is an accessor for obtaining the attribute's value (recordIndex
) and there are manipulators for changing the contained attribute values (setAttributes
checks attribute constraints; setAttributesRaw
and setRecordIndexRaw
do not). A static isValid
method is also provided to verify that particular attribute values are consistent before they are used to create or modify a context object. Note that it is the client's responsibility not to construct or unilaterally modify a context object to hold incompatible attribute values.
Additionally, this class supports a complete set of value semantic operations, including copy construction, assignment and equality comparison, and ostream
printing. A precise operational definition of when two instances have the same value can be found in the description of operator==
for the class. This class is exception neutral with no guarantee of rollback: if an exception is thrown during the invocation of a method on a pre-existing instance, the object is left in a valid state, but its value is undefined. In no event is memory leaked. Finally, aliasing (e.g., using all or part of an object as both source and destination) is supported in all cases.
See ball_context
bsl::ostream & ball::Context::print |
( |
bsl::ostream & |
stream, |
|
|
int |
level = 0 , |
|
|
int |
spacesPerLevel = 4 |
|
) |
| const |
Format this object to the specified output stream
at the optionally specified indentation level
and return a reference to the modifiable stream
. If level
is specified, optionally specify spacesPerLevel
, the number of spaces per indentation level for this and all of its nested objects. Each line is indented by the absolute value of level * spacesPerLevel
. If level
is negative, suppress indentation of the first line. If spacesPerLevel
is negative, suppress line breaks and format the entire output on one line. If stream
is initially invalid, this operation has no effect.