@@ -602,161 +602,132 @@ OF_INVALID_INIT_METHOD } - (instancetype)initWithBool: (bool)value { - self = [super init]; + self = [super initWithBytes: &value objCType: @encode(bool)]; _value.unsigned_ = value; _typeEncoding = @encode(bool); return self; } - (instancetype)initWithChar: (signed char)value { - self = [super init]; + self = [super initWithBytes: &value objCType: @encode(signed char)]; _value.signed_ = value; _typeEncoding = @encode(signed char); return self; } - (instancetype)initWithShort: (short)value { - self = [super init]; + self = [super initWithBytes: &value objCType: @encode(short)]; _value.signed_ = value; _typeEncoding = @encode(short); return self; } - (instancetype)initWithInt: (int)value { - self = [super init]; + self = [super initWithBytes: &value objCType: @encode(int)]; _value.signed_ = value; _typeEncoding = @encode(int); return self; } - (instancetype)initWithLong: (long)value { - self = [super init]; + self = [super initWithBytes: &value objCType: @encode(long)]; _value.signed_ = value; _typeEncoding = @encode(long); return self; } - (instancetype)initWithLongLong: (long long)value { - self = [super init]; + self = [super initWithBytes: &value objCType: @encode(long long)]; _value.signed_ = value; _typeEncoding = @encode(long long); return self; } - (instancetype)initWithUnsignedChar: (unsigned char)value { - self = [super init]; + self = [super initWithBytes: &value objCType: @encode(unsigned char)]; _value.unsigned_ = value; - _typeEncoding = @encode(unsigned long); + _typeEncoding = @encode(unsigned char); return self; } - (instancetype)initWithUnsignedShort: (unsigned short)value { - self = [super init]; + self = [super initWithBytes: &value objCType: @encode(unsigned short)]; _value.unsigned_ = value; _typeEncoding = @encode(unsigned short); return self; } - (instancetype)initWithUnsignedInt: (unsigned int)value { - self = [super init]; + self = [super initWithBytes: &value objCType: @encode(unsigned int)]; _value.unsigned_ = value; _typeEncoding = @encode(unsigned int); return self; } - (instancetype)initWithUnsignedLong: (unsigned long)value { - self = [super init]; + self = [super initWithBytes: &value objCType: @encode(unsigned long)]; _value.unsigned_ = value; _typeEncoding = @encode(unsigned long); return self; } - (instancetype)initWithUnsignedLongLong: (unsigned long long)value { - self = [super init]; + self = [super initWithBytes: &value + objCType: @encode(unsigned long long)]; _value.unsigned_ = value; _typeEncoding = @encode(unsigned long long); return self; } -- (instancetype)initWithPtrDiff: (ptrdiff_t)value -{ - self = [super init]; - - _value.signed_ = value; - _typeEncoding = @encode(ptrdiff_t); - - return self; -} - -- (instancetype)initWithIntPtr: (intptr_t)value -{ - self = [super init]; - - _value.signed_ = value; - _typeEncoding = @encode(intptr_t); - - return self; -} - -- (instancetype)initWithUIntPtr: (uintptr_t)value -{ - self = [super init]; - - _value.unsigned_ = value; - _typeEncoding = @encode(uintptr_t); - - return self; -} - - (instancetype)initWithFloat: (float)value { - self = [super init]; + self = [super initWithBytes: &value objCType: @encode(float)]; _value.float_ = value; _typeEncoding = @encode(float); return self; } - (instancetype)initWithDouble: (double)value { - self = [super init]; + self = [super initWithBytes: &value objCType: @encode(double)]; _value.float_ = value; _typeEncoding = @encode(double); return self;