Quick Links:

bmqa | bmqpi | bmqt

Public Types | Public Member Functions | Static Public Member Functions | Friends

bmqt::CorrelationId Class Reference

#include <bmqt_correlationid.h>

List of all members.

Public Types

enum  Type {
  e_NUMERIC, e_POINTER, e_SHARED_PTR, e_AUTO_VALUE,
  e_UNSET
}

Public Member Functions

 CorrelationId ()
 CorrelationId (bsls::Types::Int64 numeric)
 CorrelationId (void *pointer)
 CorrelationId (const bsl::shared_ptr< void > &sharedPtr)
CorrelationIdmakeUnset ()
CorrelationIdsetNumeric (bsls::Types::Int64 numeric)
CorrelationIdsetPointer (void *pointer)
CorrelationIdsetSharedPointer (const bsl::shared_ptr< void > &sharedPtr)
bool isUnset () const
bool isNumeric () const
bool isPointer () const
bool isSharedPtr () const
bool isAutoValue () const
bsls::Types::Int64 theNumeric () const
void * thePointer () const
const bsl::shared_ptr< void > & theSharedPtr () const
Type type () const
bsl::ostream & print (bsl::ostream &stream, int level=0, int spacesPerLevel=4) const

Static Public Member Functions

static CorrelationId autoValue ()

Friends

struct CorrelationIdLess
bool operator== (const CorrelationId &lhs, const CorrelationId &rhs)
bool operator!= (const CorrelationId &lhs, const CorrelationId &rhs)
bsl::ostream & operator<< (bsl::ostream &stream, const CorrelationId &rhs)
template<class HASH_ALGORITHM >
void hashAppend (HASH_ALGORITHM &hashAlgo, const CorrelationId &value)

Detailed Description

This class implements an in-core value-semantic type for correlating an asynchronous result with the original operation.

See Component bmqt_correlationid


Member Enumeration Documentation

Enumerator:
e_NUMERIC 

the CorrelationId holds a 64-bit integer

e_POINTER 

the CorrelationId holds a raw pointer

e_SHARED_PTR 

the CorrelationId holds a shared pointer

e_AUTO_VALUE 

the CorrelationId holds an auto value

e_UNSET 

the CorrelationId is not set


Constructor & Destructor Documentation

bmqt::CorrelationId::CorrelationId (  )  [explicit]

Create a CorrelationId having the default, unset, value.

bmqt::CorrelationId::CorrelationId ( bsls::Types::Int64  numeric  )  [explicit]

Create a CorrelationId object initialized with the specified numeric integer value.

bmqt::CorrelationId::CorrelationId ( void *  pointer  )  [explicit]

Create a CorrelationId object initialized with the specified pointer value.

bmqt::CorrelationId::CorrelationId ( const bsl::shared_ptr< void > &  sharedPtr  )  [explicit]

Create a CorrelationId object initialized with the specified sharedPtr shared pointer value.


Member Function Documentation

static CorrelationId bmqt::CorrelationId::autoValue (  )  [static]

Return a CorrelationId having a unique, automatically assigned opaque value.

CorrelationId& bmqt::CorrelationId::makeUnset (  ) 

Unset the value of this object.

CorrelationId& bmqt::CorrelationId::setNumeric ( bsls::Types::Int64  numeric  ) 

Set the value of this object value to the specified numeric. Return a reference to this object.

CorrelationId& bmqt::CorrelationId::setPointer ( void *  pointer  ) 

Set the value of this object value to the specified pointer. Return a reference to this object.

CorrelationId& bmqt::CorrelationId::setSharedPointer ( const bsl::shared_ptr< void > &  sharedPtr  ) 

Set the value of this object value to the specified sharedPtr. Return a reference to this object.

bool bmqt::CorrelationId::isUnset (  )  const

Return true if the value of this object is unset;

bool bmqt::CorrelationId::isNumeric (  )  const

Return true if the value of this object is an integer value, and otherwise return false.

bool bmqt::CorrelationId::isPointer (  )  const

Return true if the value of this object is a pointer value, and otherwise return false.

bool bmqt::CorrelationId::isSharedPtr (  )  const

Return true if the value of this object is a shared pointer value, and otherwise return false.

bool bmqt::CorrelationId::isAutoValue (  )  const

Return true if the value of this object is an auto correlation value, and otherwise return false.

bsls::Types::Int64 bmqt::CorrelationId::theNumeric (  )  const

Return the 64-bit integer value of this object. The behavior is undefined unless method isNumeric returns true.

void* bmqt::CorrelationId::thePointer (  )  const

Return the pointer value of this object. The behavior is undefined unless method isPointer returns true.

const bsl::shared_ptr<void>& bmqt::CorrelationId::theSharedPtr (  )  const

Return the pointer value of this object. The behavior is undefined unless method isSharedPtr returns true.

Type bmqt::CorrelationId::type (  )  const

Return the type of the value of this object.

bsl::ostream& bmqt::CorrelationId::print ( bsl::ostream &  stream,
int  level = 0,
int  spacesPerLevel = 4 
) const

Format this object to the specified output stream at the (absolute value of) the optionally specified indentation level and return a reference to stream. If level is specified, optionally specify spacesPerLevel, 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.


Friends And Related Function Documentation

friend struct CorrelationIdLess [friend]
bool operator== ( const CorrelationId lhs,
const CorrelationId rhs 
) [friend]

Return true if rhs object contains the value of the same type as contained in lhs object and the value itself is the same in both objects, return false otherwise.

bool operator!= ( const CorrelationId lhs,
const CorrelationId rhs 
) [friend]

Return false if rhs object contains the value of the same type as contained in lhs object and the value itself is the same in both objects, return true otherwise.

bsl::ostream& operator<< ( bsl::ostream &  stream,
const CorrelationId rhs 
) [friend]

Format the specified rhs to the specified output stream and return a reference to the modifiable stream.

template<class HASH_ALGORITHM >
void hashAppend ( HASH_ALGORITHM &  hashAlgo,
const CorrelationId value 
) [friend]

The documentation for this class was generated from the following file: