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()
Create an empty scalar.
Definition: scalar.hpp:40
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.