proton Namespace Reference

Type traits for mapping between AMQP and C++ types. More...

## Namespaces

| codec
| Experimental - AMQP data encoding and decoding.
| io
| Experimental - An SPI for multithreaded network IO.

## Classes

class | annotation_key
| A key for use with AMQP annotation maps. More...
class | binary
| Arbitrary binary data. More...
class | byte_array
| Arbitrary fixed-size data. More...
class | connection
| A connection to a remote AMQP peer. More...
class | connection_options
| Options for creating a connection. More...
class | container
| A top-level container of connections, sessions, senders, and receivers. More...
class | container_ref
| This is an header only class that can be used to help using containers more natural by allowing them to be treated as value types. More...
struct | conversion_error
| An error converting between AMQP and C++ data. More...
class | decimal128
| 128-bit decimal floating point. More...
class | decimal32
| 32-bit decimal floating point. More...
class | decimal64
| 64-bit decimal floating point. More...
class | delivery
| A received message. More...
struct | delivery_mode
| The message delivery policy to establish when opening a link. More...
class | duration
| A span of time in milliseconds. More...
class | endpoint
| The base class for session, connection, and link. More...
struct | error
| The base Proton error. More...
class | error_condition
| Describes an endpoint error state. More...
class | event_loop
| Experimental - A serial execution context. More...
class | inject_handler
| Experimental - A handler for injected code. More...
class | link
| A named channel for sending or receiving messages. More...
class | listen_handler
| Experimental - A handler for incoming connections. More...
class | listener
| A listener for incoming connections. More...
class | message
| An AMQP message. More...
class | message_id
| An AMQP message ID. More...
class | messaging_handler
| A handler for Proton messaging events. More...
class | receiver
| A channel for receiving messages. More...
class | receiver_options
| Options for creating a receiver. More...
class | sasl
| SASL information. More...
class | scalar
| A holder for an instance of any scalar AMQP type. More...
class | sender
| A channel for sending messages. More...
class | sender_options
| Options for creating a sender. More...
class | session
| A container of senders and receivers. More...
class | session_options
| Options for creating a session. More...
class | source
| A point of origin for messages. More...
class | source_options
| Options for creating a source node for a sender or receiver. More...
class | ssl
| SSL information. More...
class | ssl_certificate
| Experimental - An SSL certificate. More...
class | ssl_client_options
| Experimental - SSL configuration for outbound connections. More...
class | ssl_server_options
| Experimental - SSL configuration for inbound connections. More...
class | symbol
| A std::string that represents the AMQP symbol type. More...
class | target
| A destination for messages. More...
class | target_options
| Options for creating a target node for a sender or receiver. More...
class | terminus
| One end of a link, either a source or a target. More...
class | thread_safe
| Experimental - A thread-safe object wrapper. More...
struct | timeout_error
| An operation timed out. More...
class | timestamp
| A 64-bit timestamp in milliseconds since the Unix epoch. More...
class | tracker
| A tracker for a sent message. More...
class | transfer
| The base class for delivery and tracker. More...
class | transport
| A network channel supporting an AMQP connection. More...
class | url
| A Proton URL. More...
struct | url_error
| An error encountered during URL parsing. More...
class | uuid
| A 16-byte universally unique identifier. More...
class | value
| A holder for any AMQP value, simple or complex. More...
class | void_function0
| A C++03 compatible void no-argument callback function object, used by container::schedule() and event_loop::inject() In C++11 you can use std::bind, std::function or a void-no-argument lambda instead. More...

## Enumerations

enum | type_id { NULL_TYPE, BOOLEAN, UBYTE, BYTE, USHORT, SHORT, UINT, INT, CHAR, ULONG, LONG, TIMESTAMP, FLOAT, DOUBLE, DECIMAL32, DECIMAL64, DECIMAL128, UUID, BINARY, STRING, SYMBOL, DESCRIBED, ARRAY, LIST, MAP }
| An identifier for AMQP types. More...

## Functions

std::ostream & | operator<< (std::ostream &, const binary &)
| Print a binary value.
std::auto_ptr< container > | make_auto_default_container (messaging_handler &, const std::string &id="")
| Default container factory for C++03, not recommended unless you only have C++03.
std::auto_ptr< container > | make_auto_default_container (const std::string &id="")
std::ostream & | operator<< (std::ostream &, duration)
| Print duration.
std::string | to_string (const internal::scalar_base &x)
| Return a readable string representation of x for display purposes.
template<class T >
returned< T > | make_thread_safe (const T &obj)
| Make a thread-safe wrapper for `obj`.
std::ostream & | operator<< (std::ostream &, timestamp)
| Printable format.
std::string | type_name (type_id)
| Get the name of the AMQP type.
std::ostream & | operator<< (std::ostream &, type_id)
| Print the type name.
void | assert_type_equal (type_id want, type_id got)
| Throw a conversion_error if want != got with a message including the names of the types. More...
std::ostream & | operator<< (std::ostream &, const uuid &)
| UUID standard format: 8-4-4-4-12 (36 chars, 32 alphanumeric chars and 4 hypens). More...
template<>
void | get< null > (const value &v, null &)
| Special case for get<null>(), just checks that value contains NULL.
std::string | to_string (const value &x)
| Return a readable string representation of x for display purposes.
std::ostream & | operator<< (std::ostream &, const decimal32 &)
| Print decimal values.
std::ostream & | operator<< (std::ostream &, const decimal64 &)
std::ostream & | operator<< (std::ostream &, const decimal128 &)
Comparison and arithmetic operators
bool | operator< (duration x, duration y)
bool | operator== (duration x, duration y)
duration | operator+ (duration x, duration y)
duration | operator- (duration x, duration y)
duration | operator* (duration d, uint64_t n)
duration | operator* (uint64_t n, duration d)
bool | operator== (timestamp x, timestamp y)
bool | operator< (timestamp x, timestamp y)
timestamp | operator+ (timestamp ts, duration d)
duration | operator- (timestamp t0, timestamp t1)
timestamp | operator+ (duration d, timestamp ts)
Test the properties of a type_id.
bool | type_id_is_signed_int (type_id t)
bool | type_id_is_unsigned_int (type_id t)
bool | type_id_is_integral (type_id t)
bool | type_id_is_floating_point (type_id t)
bool | type_id_is_decimal (type_id t)
bool | type_id_is_signed (type_id t)
bool | type_id_is_string_like (type_id t)
bool | type_id_is_container (type_id t)
bool | type_id_is_scalar (type_id t)
bool | type_id_is_null (type_id t)

## Detailed Description

Type traits for mapping between AMQP and C++ types.

The main Proton namespace.

Also provides workarounds for missing type_traits classes on older C++ compilers.

## Enumeration Type Documentation

## type_id

enum type_id

An identifier for AMQP types.

Enumerator
NULL_TYPE | The null type, contains no data.
BOOLEAN | Boolean true or false.
UBYTE | Unsigned 8-bit integer.
BYTE | Signed 8-bit integer.
USHORT | Unsigned 16-bit integer.
SHORT | Signed 16-bit integer.
UINT | Unsigned 32-bit integer.
INT | Signed 32-bit integer.
CHAR | 32-bit unicode character.
ULONG | Unsigned 64-bit integer.
LONG | Signed 64-bit integer.
TIMESTAMP | Signed 64-bit milliseconds since the epoch.
FLOAT | 32-bit binary floating point.
DOUBLE | 64-bit binary floating point.
DECIMAL32 | 32-bit decimal floating point.
DECIMAL64 | 64-bit decimal floating point.
DECIMAL128 | 128-bit decimal floating point.
UUID | 16-byte UUID.
BINARY | Variable-length sequence of bytes.
STRING | Variable-length utf8-encoded string.
SYMBOL | Variable-length encoded string.
DESCRIBED | A descriptor and a value.
ARRAY | A sequence of values of the same type.
LIST | A sequence of values of mixed types.
MAP | A sequence of key-value pairs.

## Function Documentation

## assert_type_equal()

void proton::assert_type_equal | ( | type_id | want,
|  | type_id | got
| ) |  |

Throw a conversion_error if want != got with a message including the names of the types.

## operator<<()

std::ostream& proton::operator<< | ( | std::ostream & | ,
|  | const uuid & |
| ) |  |

UUID standard format: 8-4-4-4-12 (36 chars, 32 alphanumeric chars and 4 hypens).