9 #ifndef __libutilxx__sella__variant__Unsigned_H__
10 #define __libutilxx__sella__variant__Unsigned_H__
12 #include "../../common.h"
13 #include "TypeCastException.h"
18 #include <boost/regex.hpp>
29 static const boost::regex & Pattern(
void) {
static boost::regex regex(
"^(?<![-])\\b[+]?[0-9]+$");
return regex; }
30 static const int Type = 0x04;
34 Unsigned(
const std::string &value)
throw (TypeCastException);
41 bool operator==(
const Unsigned &other)
const throw ();
42 bool operator!=(
const Unsigned &other)
const throw ();
43 bool operator>(
const Unsigned &other)
const throw ();
44 bool operator<(
const Unsigned &other)
const throw ();
45 bool operator!()
throw ();
47 Unsigned& operator=(uint64_t other)
throw ();
50 Unsigned& operator+=(uint64_t value)
throw ();
51 Unsigned& operator-=(uint64_t value)
throw ();
52 Unsigned& operator*=(uint64_t value)
throw ();
53 Unsigned& operator/=(uint64_t value)
throw ();
54 Unsigned& operator^=(uint64_t value)
throw ();
55 Unsigned& operator%=(uint64_t value)
throw ();
56 Unsigned& operator&=(uint64_t value)
throw ();
57 Unsigned& operator|=(uint64_t value)
throw ();
58 Unsigned& operator<<=(
int bits)
throw ();
59 Unsigned& operator>>=(
int bits)
throw ();
62 uint64_t
get()
const throw (UnsupportedOperatorException);
65 virtual void msgpackBufferSize(
size_t &size)
const throw ();
66 virtual std::string str(
int type)
const throw ();
67 virtual int getType(
void)
throw () {
return Type; }
69 static bool isType(
const std::string &value)
throw () {
return isType(value.c_str(), value.size()); }
70 static bool isType(
const char *value,
size_t size)
throw ();