Qpid Proton C++ API  0.18.0
annotation_key

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

#include <annotation_key.hpp>

Inheritance diagram for annotation_key:
scalar_base

Public Member Functions

 annotation_key ()
 An empty annotation key.
 
template<class T >
 annotation_key (const T &x)
 Construct from any type that can be assigned.
 
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.
 
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)
 

Related Functions

(Note that these are not member functions.)

template<>
uint64_t get (const annotation_key &x)
 Get the uint64_t value or throw conversion_error.
 
template<>
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)
related

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.

Exceptions
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: