2013-06-05 19:19:00 +00:00
|
|
|
#pragma once
|
2012-09-18 03:04:42 +00:00
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
|
|
namespace fc {
|
|
|
|
|
|
|
|
|
|
struct unsigned_int {
|
|
|
|
|
unsigned_int( uint32_t v = 0 ):value(v){}
|
|
|
|
|
|
|
|
|
|
operator uint32_t()const { return value; }
|
|
|
|
|
|
|
|
|
|
template<typename T>
|
|
|
|
|
unsigned_int& operator=( const T& v ) { value = v; return *this; }
|
|
|
|
|
|
|
|
|
|
uint32_t value;
|
2013-07-14 21:58:27 +00:00
|
|
|
|
|
|
|
|
template<typename T>
|
|
|
|
|
friend bool operator==( const unsigned_int& i, const T& v ) { return v == i.value; }
|
|
|
|
|
template<typename T>
|
|
|
|
|
friend bool operator!=( const unsigned_int& i, const T& v ) { return v != i.value; }
|
2012-09-18 03:04:42 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct signed_int {
|
|
|
|
|
signed_int( int32_t v = 0 ):value(v){}
|
|
|
|
|
operator int32_t()const { return value; }
|
|
|
|
|
template<typename T>
|
|
|
|
|
signed_int& operator=( const T& v ) { value = v; return *this; }
|
|
|
|
|
|
|
|
|
|
int32_t value;
|
|
|
|
|
};
|
|
|
|
|
|
2013-06-05 19:19:00 +00:00
|
|
|
class variant;
|
|
|
|
|
|
|
|
|
|
void to_variant( const signed_int& var, variant& vo );
|
|
|
|
|
void from_variant( const variant& var, signed_int& vo );
|
|
|
|
|
void to_variant( const unsigned_int& var, variant& vo );
|
|
|
|
|
void from_variant( const variant& var, unsigned_int& vo );
|
|
|
|
|
|
2012-09-18 03:04:42 +00:00
|
|
|
} // namespace fc
|
|
|
|
|
|
|
|
|
|
|