blob: 54562257637d59ead6c396938f843b3941dfd830 [file] [log] [blame]
#ifndef PROTON_CODEC_AMQP_TYPES_HPP
#define PROTON_CODEC_AMQP_TYPES_HPP
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
/// @cond INTERNAL
/// XXX Remove this entirely
namespace proton {
namespace codec {
/// @name Experimental - Typedefs for AMQP scalar types.
///
/// These typedefs associate AMQP scalar type names with the
/// corresponding C++ types. They are provided as a convenience for
/// those familiar with AMQP, but you do not need to use them. You
/// can use the C++ types directly.
///
/// The typedef names have a `_type` suffix to avoid ambiguity with
/// C++ reserved and std library type names.
///
/// @{
// XXX Consider prefixing these with amqp_ and dropping _type, now
// that they're in the codec namespace
/// True or false.
typedef bool boolean_type;
/// 8-bit unsigned byte
typedef uint8_t ubyte_type;
/// 8-bit signed byte
typedef int8_t byte_type;
/// 16-bit unsigned short integer
typedef uint16_t ushort_type;
/// 16-bit signed short integer
typedef int16_t short_type;
/// 32-bit unsigned integer
typedef uint32_t uint_type;
/// 32-bit signed integer
typedef int32_t int_type;
/// 64-bit unsigned long integer
typedef uint64_t ulong_type;
/// 64-bit signed long integer
typedef int64_t long_type;
/// 32-bit unicode code point
typedef wchar_t char_type;
/// 32-bit binary floating point
typedef float float_type;
/// 64-bit binary floating point
typedef double double_type;
/// An AMQP string is unicode UTF-8 encoded.
typedef std::string string_type;
/// An AMQP symbol is ASCII 7-bit encoded.
typedef proton::symbol symbol_type;
/// An AMQP binary contains variable length raw binary data.
typedef proton::binary binary_type;
/// A timestamp in milliseconds since the epoch 00:00:00 (UTC), 1 January 1970.
typedef proton::timestamp timestamp_type;
/// A 16-byte universally unique identifier.
typedef proton::uuid uuid_type;
/// 32-bit decimal floating point
typedef proton::decimal32 decimal32_type;
/// 64-bit decimal floating point
typedef proton::decimal64 decimal64_type;
/// 128-bit decimal floating point
typedef proton::decimal128 decimal128_type;
} // codec
} // proton
/// @endcond
#endif // PROTON_CODEC_AMQP_TYPES_HPP