Qpid Proton C++ API 0.39.0
No Matches

A key for use with AMQP annotation maps. More...

#include <annotation_key.hpp>

Inheritance diagram for annotation_key:

Public Member Functions

 annotation_key ()=default
 An empty annotation key.
template<class T >
 annotation_key (const T &x)
 Construct from any type that can be assigned.
Assign from a uint64_t or symbol.
annotation_keyoperator= (uint64_t x)
annotation_keyoperator= (const symbol &x)
Extra conversions for strings, treated as codec::SYMBOL.
annotation_keyoperator= (const std::string &x)
annotation_keyoperator= (const char *x)
- Public Member Functions inherited from scalar_base
type_id type () const
 AMQP type of data stored in the scalar.
bool empty () const
 True if there is no value, i.e. type() == NULL_TYPE.

Related Functions

(Note that these are not member functions.)

uint64_t get (const annotation_key &x)
 Get the uint64_t value or throw conversion_error.
symbol get (const annotation_key &x)
 Get the symbol value or throw conversion_error.
template<class T >
coerce (const annotation_key &x)
 Get the binary value or throw conversion_error. More...

Detailed Description

A key for use with AMQP annotation maps.

An annotation_key can contain either a uint64_t or a proton::symbol.

Friends And Related Function Documentation

◆ coerce()

T coerce ( const annotation_key x)

Get the binary value or throw conversion_error.

Coerce the contained value to type T.

For example:

 uint64_t i = coerce<uint64_t>(x)

This will succeed if x contains any numeric value, but may lose precision if it contains a float or double value.

conversion_errorif the value cannot be converted to T according to std::is_convertible

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