1 #ifndef PROTON_SCALAR_HPP
2 #define PROTON_SCALAR_HPP
25 #include <proton/type_compat.h>
41 template <
class T>
scalar(
const T& x) { *
this = x; }
47 void clear() { *
this =
null(); }
58 template<
class T> T
get(
const scalar& s) {
return internal::get<T>(s); }
70 template<
class T> T
coerce(
const scalar& x) {
return internal::coerce<T>(x); }
83 template<
class T> T
coerce(
scalar& x) {
return internal::coerce<T>(x); }
The base class for scalar types.
Definition: scalar_base.hpp:60
A holder for an instance of any scalar AMQP type.
Definition: scalar.hpp:35
scalar(const T &x)
Construct from any scalar type.
Definition: scalar.hpp:41
T coerce(scalar &x)
Coerce the contained value to type T.
Definition: scalar.hpp:83
T coerce(const scalar &x)
Coerce the contained value to type T.
Definition: scalar.hpp:70
T get(const scalar &s)
Get a contained value of type T.
Definition: scalar.hpp:58
scalar & operator=(const T &x)
Assign from any scalar type.
Definition: scalar.hpp:44
scalar()
Create an empty scalar.
Definition: scalar.hpp:38
void clear()
Clear the scalar, making it empty().
Definition: scalar.hpp:47
The main Proton namespace.
Definition: annotation_key.hpp:33
The base class for scalar types.