| Index: src/utils.h | 
| diff --git a/src/utils.h b/src/utils.h | 
| index eeb098752198d4f1ef6333bf64464e90113f61d7..d5b7274e95eed58e4b17c39006e6dc0ccb99eade 100644 | 
| --- a/src/utils.h | 
| +++ b/src/utils.h | 
| @@ -233,6 +233,25 @@ inline int32_t WhichPowerOf2Abs(int32_t x) { | 
| } | 
|  | 
|  | 
| +// Obtains the unsigned type corresponding to T | 
| +// available in C++11 as std::make_unsigned | 
| +template<typename T> | 
| +struct make_unsigned { | 
| +  typedef T type; | 
| +}; | 
| + | 
| + | 
| +// Template specializations necessary to have make_unsigned work | 
| +template<> struct make_unsigned<int32_t> { | 
| +  typedef uint32_t type; | 
| +}; | 
| + | 
| + | 
| +template<> struct make_unsigned<int64_t> { | 
| +  typedef uint64_t type; | 
| +}; | 
| + | 
| + | 
| // ---------------------------------------------------------------------------- | 
| // BitField is a help template for encoding and decode bitfield with | 
| // unsigned content. | 
|  |