typedef typename TypeChooser<PlatformUnsignedTypes, Predicate>::Type UnsignedType;
};
+/** A helper for choosing an integer that's the same size as another type. */
+template<typename T>
+struct MatchingInt: Int<sizeof(T)*CHAR_BIT>
+{ };
+
// Finally define convenient shorthands for the actual integer types
typedef Int<8>::SignedType Int8;
typedef Int<8>::UnsignedType UInt8;
typedef Int<32>::UnsignedType UInt32;
typedef Int<64>::SignedType Int64;
typedef Int<64>::UnsignedType UInt64;
+typedef MatchingInt<void *>::UnsignedType IntPtr;
} // namespace Msp