1 #ifndef PROTON_SCALAR_HPP
2 #define PROTON_SCALAR_HPP
27 #include <proton/type_compat.h>
43 template <
class T>
scalar(
const T& x) { *
this = x; }
49 void clear() { *
this =
null(); }
60 template<
class T> T
get(
const scalar& s) {
return internal::get<T>(s); }
72 template<
class T> T
coerce(
const scalar& x) {
return internal::coerce<T>(x); }
85 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:37
scalar(const T &x)
Construct from any scalar type.
Definition: scalar.hpp:43
T coerce(scalar &x)
Coerce the contained value to type T.
Definition: scalar.hpp:85
T coerce(const scalar &x)
Coerce the contained value to type T.
Definition: scalar.hpp:72
T get(const scalar &s)
Get a contained value of type T.
Definition: scalar.hpp:60
scalar & operator=(const T &x)
Assign from any scalar type.
Definition: scalar.hpp:46
scalar()=default
Create an empty scalar.
void clear()
Clear the scalar, making it empty().
Definition: scalar.hpp:49
The main Proton namespace.
Definition: annotation_key.hpp:33
The type of the AMQP null value.
The base class for scalar types.