| OLD | NEW |
| 1 // Protocol Buffers - Google's data interchange format | 1 // Protocol Buffers - Google's data interchange format |
| 2 // Copyright 2015 Google Inc. All rights reserved. | 2 // Copyright 2015 Google Inc. All rights reserved. |
| 3 // https://developers.google.com/protocol-buffers/ | 3 // https://developers.google.com/protocol-buffers/ |
| 4 // | 4 // |
| 5 // Redistribution and use in source and binary forms, with or without | 5 // Redistribution and use in source and binary forms, with or without |
| 6 // modification, are permitted provided that the following conditions are | 6 // modification, are permitted provided that the following conditions are |
| 7 // met: | 7 // met: |
| 8 // | 8 // |
| 9 // * Redistributions of source code must retain the above copyright | 9 // * Redistributions of source code must retain the above copyright |
| 10 // notice, this list of conditions and the following disclaimer. | 10 // notice, this list of conditions and the following disclaimer. |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 //%@implementation GPB##NAME##Array { | 68 //%@implementation GPB##NAME##Array { |
| 69 //% @package | 69 //% @package |
| 70 //% TYPE *_values; | 70 //% TYPE *_values; |
| 71 //% NSUInteger _count; | 71 //% NSUInteger _count; |
| 72 //% NSUInteger _capacity; | 72 //% NSUInteger _capacity; |
| 73 //%} | 73 //%} |
| 74 //% | 74 //% |
| 75 //%@synthesize count = _count; | 75 //%@synthesize count = _count; |
| 76 //% | 76 //% |
| 77 //%+ (instancetype)array { | 77 //%+ (instancetype)array { |
| 78 //% return [[[self alloc] initWithValues:NULL count:0] autorelease]; | 78 //% return [[[self alloc] init] autorelease]; |
| 79 //%} | 79 //%} |
| 80 //% | 80 //% |
| 81 //%+ (instancetype)arrayWithValue:(TYPE)value { | 81 //%+ (instancetype)arrayWithValue:(TYPE)value { |
| 82 //% // Cast is needed so the compiler knows what class we are invoking initWith
Values: on to get | 82 //% // Cast is needed so the compiler knows what class we are invoking initWith
Values: on to get |
| 83 //% // the type correct. | 83 //% // the type correct. |
| 84 //% return [[(GPB##NAME##Array*)[self alloc] initWithValues:&value count:1] aut
orelease]; | 84 //% return [[(GPB##NAME##Array*)[self alloc] initWithValues:&value count:1] aut
orelease]; |
| 85 //%} | 85 //%} |
| 86 //% | 86 //% |
| 87 //%+ (instancetype)arrayWithValueArray:(GPB##NAME##Array *)array { | 87 //%+ (instancetype)arrayWithValueArray:(GPB##NAME##Array *)array { |
| 88 //% return [[(GPB##NAME##Array*)[self alloc] initWithValueArray:array] autorele
ase]; | 88 //% return [[(GPB##NAME##Array*)[self alloc] initWithValueArray:array] autorele
ase]; |
| 89 //%} | 89 //%} |
| 90 //% | 90 //% |
| 91 //%+ (instancetype)arrayWithCapacity:(NSUInteger)count { | 91 //%+ (instancetype)arrayWithCapacity:(NSUInteger)count { |
| 92 //% return [[[self alloc] initWithCapacity:count] autorelease]; | 92 //% return [[[self alloc] initWithCapacity:count] autorelease]; |
| 93 //%} | 93 //%} |
| 94 //% | 94 //% |
| 95 //%- (instancetype)init { | 95 //%- (instancetype)init { |
| 96 //% return [self initWithValues:NULL count:0]; | 96 //% self = [super init]; |
| 97 //% // No work needed; |
| 98 //% return self; |
| 97 //%} | 99 //%} |
| 98 //% | 100 //% |
| 99 //%- (instancetype)initWithValueArray:(GPB##NAME##Array *)array { | 101 //%- (instancetype)initWithValueArray:(GPB##NAME##Array *)array { |
| 100 //% return [self initWithValues:array->_values count:array->_count]; | 102 //% return [self initWithValues:array->_values count:array->_count]; |
| 101 //%} | 103 //%} |
| 102 //% | 104 //% |
| 103 //%- (instancetype)initWithValues:(const TYPE [])values count:(NSUInteger)count
{ | 105 //%- (instancetype)initWithValues:(const TYPE [])values count:(NSUInteger)count
{ |
| 104 //% self = [super init]; | 106 //% self = [self init]; |
| 105 //% if (self) { | 107 //% if (self) { |
| 106 //% if (count && values) { | 108 //% if (count && values) { |
| 107 //% _values = malloc(count * sizeof(TYPE)); | 109 //% _values = reallocf(_values, count * sizeof(TYPE)); |
| 108 //% if (values != NULL) { | 110 //% if (_values != NULL) { |
| 109 //% _capacity = count; | 111 //% _capacity = count; |
| 110 //% memcpy(_values, values, count * sizeof(TYPE)); | 112 //% memcpy(_values, values, count * sizeof(TYPE)); |
| 111 //% _count = count; | 113 //% _count = count; |
| 112 //% } else { | 114 //% } else { |
| 113 //% [self release]; | 115 //% [self release]; |
| 114 //% [NSException raise:NSMallocException | 116 //% [NSException raise:NSMallocException |
| 115 //% format:@"Failed to allocate %lu bytes", | 117 //% format:@"Failed to allocate %lu bytes", |
| 116 //% (unsigned long)(count * sizeof(TYPE))]; | 118 //% (unsigned long)(count * sizeof(TYPE))]; |
| 117 //% } | 119 //% } |
| 118 //% } | 120 //% } |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 @implementation GPBInt32Array { | 294 @implementation GPBInt32Array { |
| 293 @package | 295 @package |
| 294 int32_t *_values; | 296 int32_t *_values; |
| 295 NSUInteger _count; | 297 NSUInteger _count; |
| 296 NSUInteger _capacity; | 298 NSUInteger _capacity; |
| 297 } | 299 } |
| 298 | 300 |
| 299 @synthesize count = _count; | 301 @synthesize count = _count; |
| 300 | 302 |
| 301 + (instancetype)array { | 303 + (instancetype)array { |
| 302 return [[[self alloc] initWithValues:NULL count:0] autorelease]; | 304 return [[[self alloc] init] autorelease]; |
| 303 } | 305 } |
| 304 | 306 |
| 305 + (instancetype)arrayWithValue:(int32_t)value { | 307 + (instancetype)arrayWithValue:(int32_t)value { |
| 306 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get | 308 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get |
| 307 // the type correct. | 309 // the type correct. |
| 308 return [[(GPBInt32Array*)[self alloc] initWithValues:&value count:1] autorelea
se]; | 310 return [[(GPBInt32Array*)[self alloc] initWithValues:&value count:1] autorelea
se]; |
| 309 } | 311 } |
| 310 | 312 |
| 311 + (instancetype)arrayWithValueArray:(GPBInt32Array *)array { | 313 + (instancetype)arrayWithValueArray:(GPBInt32Array *)array { |
| 312 return [[(GPBInt32Array*)[self alloc] initWithValueArray:array] autorelease]; | 314 return [[(GPBInt32Array*)[self alloc] initWithValueArray:array] autorelease]; |
| 313 } | 315 } |
| 314 | 316 |
| 315 + (instancetype)arrayWithCapacity:(NSUInteger)count { | 317 + (instancetype)arrayWithCapacity:(NSUInteger)count { |
| 316 return [[[self alloc] initWithCapacity:count] autorelease]; | 318 return [[[self alloc] initWithCapacity:count] autorelease]; |
| 317 } | 319 } |
| 318 | 320 |
| 319 - (instancetype)init { | 321 - (instancetype)init { |
| 320 return [self initWithValues:NULL count:0]; | 322 self = [super init]; |
| 323 // No work needed; |
| 324 return self; |
| 321 } | 325 } |
| 322 | 326 |
| 323 - (instancetype)initWithValueArray:(GPBInt32Array *)array { | 327 - (instancetype)initWithValueArray:(GPBInt32Array *)array { |
| 324 return [self initWithValues:array->_values count:array->_count]; | 328 return [self initWithValues:array->_values count:array->_count]; |
| 325 } | 329 } |
| 326 | 330 |
| 327 - (instancetype)initWithValues:(const int32_t [])values count:(NSUInteger)count
{ | 331 - (instancetype)initWithValues:(const int32_t [])values count:(NSUInteger)count
{ |
| 328 self = [super init]; | 332 self = [self init]; |
| 329 if (self) { | 333 if (self) { |
| 330 if (count && values) { | 334 if (count && values) { |
| 331 _values = malloc(count * sizeof(int32_t)); | 335 _values = reallocf(_values, count * sizeof(int32_t)); |
| 332 if (values != NULL) { | 336 if (_values != NULL) { |
| 333 _capacity = count; | 337 _capacity = count; |
| 334 memcpy(_values, values, count * sizeof(int32_t)); | 338 memcpy(_values, values, count * sizeof(int32_t)); |
| 335 _count = count; | 339 _count = count; |
| 336 } else { | 340 } else { |
| 337 [self release]; | 341 [self release]; |
| 338 [NSException raise:NSMallocException | 342 [NSException raise:NSMallocException |
| 339 format:@"Failed to allocate %lu bytes", | 343 format:@"Failed to allocate %lu bytes", |
| 340 (unsigned long)(count * sizeof(int32_t))]; | 344 (unsigned long)(count * sizeof(int32_t))]; |
| 341 } | 345 } |
| 342 } | 346 } |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 537 @implementation GPBUInt32Array { | 541 @implementation GPBUInt32Array { |
| 538 @package | 542 @package |
| 539 uint32_t *_values; | 543 uint32_t *_values; |
| 540 NSUInteger _count; | 544 NSUInteger _count; |
| 541 NSUInteger _capacity; | 545 NSUInteger _capacity; |
| 542 } | 546 } |
| 543 | 547 |
| 544 @synthesize count = _count; | 548 @synthesize count = _count; |
| 545 | 549 |
| 546 + (instancetype)array { | 550 + (instancetype)array { |
| 547 return [[[self alloc] initWithValues:NULL count:0] autorelease]; | 551 return [[[self alloc] init] autorelease]; |
| 548 } | 552 } |
| 549 | 553 |
| 550 + (instancetype)arrayWithValue:(uint32_t)value { | 554 + (instancetype)arrayWithValue:(uint32_t)value { |
| 551 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get | 555 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get |
| 552 // the type correct. | 556 // the type correct. |
| 553 return [[(GPBUInt32Array*)[self alloc] initWithValues:&value count:1] autorele
ase]; | 557 return [[(GPBUInt32Array*)[self alloc] initWithValues:&value count:1] autorele
ase]; |
| 554 } | 558 } |
| 555 | 559 |
| 556 + (instancetype)arrayWithValueArray:(GPBUInt32Array *)array { | 560 + (instancetype)arrayWithValueArray:(GPBUInt32Array *)array { |
| 557 return [[(GPBUInt32Array*)[self alloc] initWithValueArray:array] autorelease]; | 561 return [[(GPBUInt32Array*)[self alloc] initWithValueArray:array] autorelease]; |
| 558 } | 562 } |
| 559 | 563 |
| 560 + (instancetype)arrayWithCapacity:(NSUInteger)count { | 564 + (instancetype)arrayWithCapacity:(NSUInteger)count { |
| 561 return [[[self alloc] initWithCapacity:count] autorelease]; | 565 return [[[self alloc] initWithCapacity:count] autorelease]; |
| 562 } | 566 } |
| 563 | 567 |
| 564 - (instancetype)init { | 568 - (instancetype)init { |
| 565 return [self initWithValues:NULL count:0]; | 569 self = [super init]; |
| 570 // No work needed; |
| 571 return self; |
| 566 } | 572 } |
| 567 | 573 |
| 568 - (instancetype)initWithValueArray:(GPBUInt32Array *)array { | 574 - (instancetype)initWithValueArray:(GPBUInt32Array *)array { |
| 569 return [self initWithValues:array->_values count:array->_count]; | 575 return [self initWithValues:array->_values count:array->_count]; |
| 570 } | 576 } |
| 571 | 577 |
| 572 - (instancetype)initWithValues:(const uint32_t [])values count:(NSUInteger)count
{ | 578 - (instancetype)initWithValues:(const uint32_t [])values count:(NSUInteger)count
{ |
| 573 self = [super init]; | 579 self = [self init]; |
| 574 if (self) { | 580 if (self) { |
| 575 if (count && values) { | 581 if (count && values) { |
| 576 _values = malloc(count * sizeof(uint32_t)); | 582 _values = reallocf(_values, count * sizeof(uint32_t)); |
| 577 if (values != NULL) { | 583 if (_values != NULL) { |
| 578 _capacity = count; | 584 _capacity = count; |
| 579 memcpy(_values, values, count * sizeof(uint32_t)); | 585 memcpy(_values, values, count * sizeof(uint32_t)); |
| 580 _count = count; | 586 _count = count; |
| 581 } else { | 587 } else { |
| 582 [self release]; | 588 [self release]; |
| 583 [NSException raise:NSMallocException | 589 [NSException raise:NSMallocException |
| 584 format:@"Failed to allocate %lu bytes", | 590 format:@"Failed to allocate %lu bytes", |
| 585 (unsigned long)(count * sizeof(uint32_t))]; | 591 (unsigned long)(count * sizeof(uint32_t))]; |
| 586 } | 592 } |
| 587 } | 593 } |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 782 @implementation GPBInt64Array { | 788 @implementation GPBInt64Array { |
| 783 @package | 789 @package |
| 784 int64_t *_values; | 790 int64_t *_values; |
| 785 NSUInteger _count; | 791 NSUInteger _count; |
| 786 NSUInteger _capacity; | 792 NSUInteger _capacity; |
| 787 } | 793 } |
| 788 | 794 |
| 789 @synthesize count = _count; | 795 @synthesize count = _count; |
| 790 | 796 |
| 791 + (instancetype)array { | 797 + (instancetype)array { |
| 792 return [[[self alloc] initWithValues:NULL count:0] autorelease]; | 798 return [[[self alloc] init] autorelease]; |
| 793 } | 799 } |
| 794 | 800 |
| 795 + (instancetype)arrayWithValue:(int64_t)value { | 801 + (instancetype)arrayWithValue:(int64_t)value { |
| 796 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get | 802 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get |
| 797 // the type correct. | 803 // the type correct. |
| 798 return [[(GPBInt64Array*)[self alloc] initWithValues:&value count:1] autorelea
se]; | 804 return [[(GPBInt64Array*)[self alloc] initWithValues:&value count:1] autorelea
se]; |
| 799 } | 805 } |
| 800 | 806 |
| 801 + (instancetype)arrayWithValueArray:(GPBInt64Array *)array { | 807 + (instancetype)arrayWithValueArray:(GPBInt64Array *)array { |
| 802 return [[(GPBInt64Array*)[self alloc] initWithValueArray:array] autorelease]; | 808 return [[(GPBInt64Array*)[self alloc] initWithValueArray:array] autorelease]; |
| 803 } | 809 } |
| 804 | 810 |
| 805 + (instancetype)arrayWithCapacity:(NSUInteger)count { | 811 + (instancetype)arrayWithCapacity:(NSUInteger)count { |
| 806 return [[[self alloc] initWithCapacity:count] autorelease]; | 812 return [[[self alloc] initWithCapacity:count] autorelease]; |
| 807 } | 813 } |
| 808 | 814 |
| 809 - (instancetype)init { | 815 - (instancetype)init { |
| 810 return [self initWithValues:NULL count:0]; | 816 self = [super init]; |
| 817 // No work needed; |
| 818 return self; |
| 811 } | 819 } |
| 812 | 820 |
| 813 - (instancetype)initWithValueArray:(GPBInt64Array *)array { | 821 - (instancetype)initWithValueArray:(GPBInt64Array *)array { |
| 814 return [self initWithValues:array->_values count:array->_count]; | 822 return [self initWithValues:array->_values count:array->_count]; |
| 815 } | 823 } |
| 816 | 824 |
| 817 - (instancetype)initWithValues:(const int64_t [])values count:(NSUInteger)count
{ | 825 - (instancetype)initWithValues:(const int64_t [])values count:(NSUInteger)count
{ |
| 818 self = [super init]; | 826 self = [self init]; |
| 819 if (self) { | 827 if (self) { |
| 820 if (count && values) { | 828 if (count && values) { |
| 821 _values = malloc(count * sizeof(int64_t)); | 829 _values = reallocf(_values, count * sizeof(int64_t)); |
| 822 if (values != NULL) { | 830 if (_values != NULL) { |
| 823 _capacity = count; | 831 _capacity = count; |
| 824 memcpy(_values, values, count * sizeof(int64_t)); | 832 memcpy(_values, values, count * sizeof(int64_t)); |
| 825 _count = count; | 833 _count = count; |
| 826 } else { | 834 } else { |
| 827 [self release]; | 835 [self release]; |
| 828 [NSException raise:NSMallocException | 836 [NSException raise:NSMallocException |
| 829 format:@"Failed to allocate %lu bytes", | 837 format:@"Failed to allocate %lu bytes", |
| 830 (unsigned long)(count * sizeof(int64_t))]; | 838 (unsigned long)(count * sizeof(int64_t))]; |
| 831 } | 839 } |
| 832 } | 840 } |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1027 @implementation GPBUInt64Array { | 1035 @implementation GPBUInt64Array { |
| 1028 @package | 1036 @package |
| 1029 uint64_t *_values; | 1037 uint64_t *_values; |
| 1030 NSUInteger _count; | 1038 NSUInteger _count; |
| 1031 NSUInteger _capacity; | 1039 NSUInteger _capacity; |
| 1032 } | 1040 } |
| 1033 | 1041 |
| 1034 @synthesize count = _count; | 1042 @synthesize count = _count; |
| 1035 | 1043 |
| 1036 + (instancetype)array { | 1044 + (instancetype)array { |
| 1037 return [[[self alloc] initWithValues:NULL count:0] autorelease]; | 1045 return [[[self alloc] init] autorelease]; |
| 1038 } | 1046 } |
| 1039 | 1047 |
| 1040 + (instancetype)arrayWithValue:(uint64_t)value { | 1048 + (instancetype)arrayWithValue:(uint64_t)value { |
| 1041 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get | 1049 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get |
| 1042 // the type correct. | 1050 // the type correct. |
| 1043 return [[(GPBUInt64Array*)[self alloc] initWithValues:&value count:1] autorele
ase]; | 1051 return [[(GPBUInt64Array*)[self alloc] initWithValues:&value count:1] autorele
ase]; |
| 1044 } | 1052 } |
| 1045 | 1053 |
| 1046 + (instancetype)arrayWithValueArray:(GPBUInt64Array *)array { | 1054 + (instancetype)arrayWithValueArray:(GPBUInt64Array *)array { |
| 1047 return [[(GPBUInt64Array*)[self alloc] initWithValueArray:array] autorelease]; | 1055 return [[(GPBUInt64Array*)[self alloc] initWithValueArray:array] autorelease]; |
| 1048 } | 1056 } |
| 1049 | 1057 |
| 1050 + (instancetype)arrayWithCapacity:(NSUInteger)count { | 1058 + (instancetype)arrayWithCapacity:(NSUInteger)count { |
| 1051 return [[[self alloc] initWithCapacity:count] autorelease]; | 1059 return [[[self alloc] initWithCapacity:count] autorelease]; |
| 1052 } | 1060 } |
| 1053 | 1061 |
| 1054 - (instancetype)init { | 1062 - (instancetype)init { |
| 1055 return [self initWithValues:NULL count:0]; | 1063 self = [super init]; |
| 1064 // No work needed; |
| 1065 return self; |
| 1056 } | 1066 } |
| 1057 | 1067 |
| 1058 - (instancetype)initWithValueArray:(GPBUInt64Array *)array { | 1068 - (instancetype)initWithValueArray:(GPBUInt64Array *)array { |
| 1059 return [self initWithValues:array->_values count:array->_count]; | 1069 return [self initWithValues:array->_values count:array->_count]; |
| 1060 } | 1070 } |
| 1061 | 1071 |
| 1062 - (instancetype)initWithValues:(const uint64_t [])values count:(NSUInteger)count
{ | 1072 - (instancetype)initWithValues:(const uint64_t [])values count:(NSUInteger)count
{ |
| 1063 self = [super init]; | 1073 self = [self init]; |
| 1064 if (self) { | 1074 if (self) { |
| 1065 if (count && values) { | 1075 if (count && values) { |
| 1066 _values = malloc(count * sizeof(uint64_t)); | 1076 _values = reallocf(_values, count * sizeof(uint64_t)); |
| 1067 if (values != NULL) { | 1077 if (_values != NULL) { |
| 1068 _capacity = count; | 1078 _capacity = count; |
| 1069 memcpy(_values, values, count * sizeof(uint64_t)); | 1079 memcpy(_values, values, count * sizeof(uint64_t)); |
| 1070 _count = count; | 1080 _count = count; |
| 1071 } else { | 1081 } else { |
| 1072 [self release]; | 1082 [self release]; |
| 1073 [NSException raise:NSMallocException | 1083 [NSException raise:NSMallocException |
| 1074 format:@"Failed to allocate %lu bytes", | 1084 format:@"Failed to allocate %lu bytes", |
| 1075 (unsigned long)(count * sizeof(uint64_t))]; | 1085 (unsigned long)(count * sizeof(uint64_t))]; |
| 1076 } | 1086 } |
| 1077 } | 1087 } |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1272 @implementation GPBFloatArray { | 1282 @implementation GPBFloatArray { |
| 1273 @package | 1283 @package |
| 1274 float *_values; | 1284 float *_values; |
| 1275 NSUInteger _count; | 1285 NSUInteger _count; |
| 1276 NSUInteger _capacity; | 1286 NSUInteger _capacity; |
| 1277 } | 1287 } |
| 1278 | 1288 |
| 1279 @synthesize count = _count; | 1289 @synthesize count = _count; |
| 1280 | 1290 |
| 1281 + (instancetype)array { | 1291 + (instancetype)array { |
| 1282 return [[[self alloc] initWithValues:NULL count:0] autorelease]; | 1292 return [[[self alloc] init] autorelease]; |
| 1283 } | 1293 } |
| 1284 | 1294 |
| 1285 + (instancetype)arrayWithValue:(float)value { | 1295 + (instancetype)arrayWithValue:(float)value { |
| 1286 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get | 1296 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get |
| 1287 // the type correct. | 1297 // the type correct. |
| 1288 return [[(GPBFloatArray*)[self alloc] initWithValues:&value count:1] autorelea
se]; | 1298 return [[(GPBFloatArray*)[self alloc] initWithValues:&value count:1] autorelea
se]; |
| 1289 } | 1299 } |
| 1290 | 1300 |
| 1291 + (instancetype)arrayWithValueArray:(GPBFloatArray *)array { | 1301 + (instancetype)arrayWithValueArray:(GPBFloatArray *)array { |
| 1292 return [[(GPBFloatArray*)[self alloc] initWithValueArray:array] autorelease]; | 1302 return [[(GPBFloatArray*)[self alloc] initWithValueArray:array] autorelease]; |
| 1293 } | 1303 } |
| 1294 | 1304 |
| 1295 + (instancetype)arrayWithCapacity:(NSUInteger)count { | 1305 + (instancetype)arrayWithCapacity:(NSUInteger)count { |
| 1296 return [[[self alloc] initWithCapacity:count] autorelease]; | 1306 return [[[self alloc] initWithCapacity:count] autorelease]; |
| 1297 } | 1307 } |
| 1298 | 1308 |
| 1299 - (instancetype)init { | 1309 - (instancetype)init { |
| 1300 return [self initWithValues:NULL count:0]; | 1310 self = [super init]; |
| 1311 // No work needed; |
| 1312 return self; |
| 1301 } | 1313 } |
| 1302 | 1314 |
| 1303 - (instancetype)initWithValueArray:(GPBFloatArray *)array { | 1315 - (instancetype)initWithValueArray:(GPBFloatArray *)array { |
| 1304 return [self initWithValues:array->_values count:array->_count]; | 1316 return [self initWithValues:array->_values count:array->_count]; |
| 1305 } | 1317 } |
| 1306 | 1318 |
| 1307 - (instancetype)initWithValues:(const float [])values count:(NSUInteger)count { | 1319 - (instancetype)initWithValues:(const float [])values count:(NSUInteger)count { |
| 1308 self = [super init]; | 1320 self = [self init]; |
| 1309 if (self) { | 1321 if (self) { |
| 1310 if (count && values) { | 1322 if (count && values) { |
| 1311 _values = malloc(count * sizeof(float)); | 1323 _values = reallocf(_values, count * sizeof(float)); |
| 1312 if (values != NULL) { | 1324 if (_values != NULL) { |
| 1313 _capacity = count; | 1325 _capacity = count; |
| 1314 memcpy(_values, values, count * sizeof(float)); | 1326 memcpy(_values, values, count * sizeof(float)); |
| 1315 _count = count; | 1327 _count = count; |
| 1316 } else { | 1328 } else { |
| 1317 [self release]; | 1329 [self release]; |
| 1318 [NSException raise:NSMallocException | 1330 [NSException raise:NSMallocException |
| 1319 format:@"Failed to allocate %lu bytes", | 1331 format:@"Failed to allocate %lu bytes", |
| 1320 (unsigned long)(count * sizeof(float))]; | 1332 (unsigned long)(count * sizeof(float))]; |
| 1321 } | 1333 } |
| 1322 } | 1334 } |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1517 @implementation GPBDoubleArray { | 1529 @implementation GPBDoubleArray { |
| 1518 @package | 1530 @package |
| 1519 double *_values; | 1531 double *_values; |
| 1520 NSUInteger _count; | 1532 NSUInteger _count; |
| 1521 NSUInteger _capacity; | 1533 NSUInteger _capacity; |
| 1522 } | 1534 } |
| 1523 | 1535 |
| 1524 @synthesize count = _count; | 1536 @synthesize count = _count; |
| 1525 | 1537 |
| 1526 + (instancetype)array { | 1538 + (instancetype)array { |
| 1527 return [[[self alloc] initWithValues:NULL count:0] autorelease]; | 1539 return [[[self alloc] init] autorelease]; |
| 1528 } | 1540 } |
| 1529 | 1541 |
| 1530 + (instancetype)arrayWithValue:(double)value { | 1542 + (instancetype)arrayWithValue:(double)value { |
| 1531 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get | 1543 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get |
| 1532 // the type correct. | 1544 // the type correct. |
| 1533 return [[(GPBDoubleArray*)[self alloc] initWithValues:&value count:1] autorele
ase]; | 1545 return [[(GPBDoubleArray*)[self alloc] initWithValues:&value count:1] autorele
ase]; |
| 1534 } | 1546 } |
| 1535 | 1547 |
| 1536 + (instancetype)arrayWithValueArray:(GPBDoubleArray *)array { | 1548 + (instancetype)arrayWithValueArray:(GPBDoubleArray *)array { |
| 1537 return [[(GPBDoubleArray*)[self alloc] initWithValueArray:array] autorelease]; | 1549 return [[(GPBDoubleArray*)[self alloc] initWithValueArray:array] autorelease]; |
| 1538 } | 1550 } |
| 1539 | 1551 |
| 1540 + (instancetype)arrayWithCapacity:(NSUInteger)count { | 1552 + (instancetype)arrayWithCapacity:(NSUInteger)count { |
| 1541 return [[[self alloc] initWithCapacity:count] autorelease]; | 1553 return [[[self alloc] initWithCapacity:count] autorelease]; |
| 1542 } | 1554 } |
| 1543 | 1555 |
| 1544 - (instancetype)init { | 1556 - (instancetype)init { |
| 1545 return [self initWithValues:NULL count:0]; | 1557 self = [super init]; |
| 1558 // No work needed; |
| 1559 return self; |
| 1546 } | 1560 } |
| 1547 | 1561 |
| 1548 - (instancetype)initWithValueArray:(GPBDoubleArray *)array { | 1562 - (instancetype)initWithValueArray:(GPBDoubleArray *)array { |
| 1549 return [self initWithValues:array->_values count:array->_count]; | 1563 return [self initWithValues:array->_values count:array->_count]; |
| 1550 } | 1564 } |
| 1551 | 1565 |
| 1552 - (instancetype)initWithValues:(const double [])values count:(NSUInteger)count { | 1566 - (instancetype)initWithValues:(const double [])values count:(NSUInteger)count { |
| 1553 self = [super init]; | 1567 self = [self init]; |
| 1554 if (self) { | 1568 if (self) { |
| 1555 if (count && values) { | 1569 if (count && values) { |
| 1556 _values = malloc(count * sizeof(double)); | 1570 _values = reallocf(_values, count * sizeof(double)); |
| 1557 if (values != NULL) { | 1571 if (_values != NULL) { |
| 1558 _capacity = count; | 1572 _capacity = count; |
| 1559 memcpy(_values, values, count * sizeof(double)); | 1573 memcpy(_values, values, count * sizeof(double)); |
| 1560 _count = count; | 1574 _count = count; |
| 1561 } else { | 1575 } else { |
| 1562 [self release]; | 1576 [self release]; |
| 1563 [NSException raise:NSMallocException | 1577 [NSException raise:NSMallocException |
| 1564 format:@"Failed to allocate %lu bytes", | 1578 format:@"Failed to allocate %lu bytes", |
| 1565 (unsigned long)(count * sizeof(double))]; | 1579 (unsigned long)(count * sizeof(double))]; |
| 1566 } | 1580 } |
| 1567 } | 1581 } |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1762 @implementation GPBBoolArray { | 1776 @implementation GPBBoolArray { |
| 1763 @package | 1777 @package |
| 1764 BOOL *_values; | 1778 BOOL *_values; |
| 1765 NSUInteger _count; | 1779 NSUInteger _count; |
| 1766 NSUInteger _capacity; | 1780 NSUInteger _capacity; |
| 1767 } | 1781 } |
| 1768 | 1782 |
| 1769 @synthesize count = _count; | 1783 @synthesize count = _count; |
| 1770 | 1784 |
| 1771 + (instancetype)array { | 1785 + (instancetype)array { |
| 1772 return [[[self alloc] initWithValues:NULL count:0] autorelease]; | 1786 return [[[self alloc] init] autorelease]; |
| 1773 } | 1787 } |
| 1774 | 1788 |
| 1775 + (instancetype)arrayWithValue:(BOOL)value { | 1789 + (instancetype)arrayWithValue:(BOOL)value { |
| 1776 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get | 1790 // Cast is needed so the compiler knows what class we are invoking initWithVal
ues: on to get |
| 1777 // the type correct. | 1791 // the type correct. |
| 1778 return [[(GPBBoolArray*)[self alloc] initWithValues:&value count:1] autoreleas
e]; | 1792 return [[(GPBBoolArray*)[self alloc] initWithValues:&value count:1] autoreleas
e]; |
| 1779 } | 1793 } |
| 1780 | 1794 |
| 1781 + (instancetype)arrayWithValueArray:(GPBBoolArray *)array { | 1795 + (instancetype)arrayWithValueArray:(GPBBoolArray *)array { |
| 1782 return [[(GPBBoolArray*)[self alloc] initWithValueArray:array] autorelease]; | 1796 return [[(GPBBoolArray*)[self alloc] initWithValueArray:array] autorelease]; |
| 1783 } | 1797 } |
| 1784 | 1798 |
| 1785 + (instancetype)arrayWithCapacity:(NSUInteger)count { | 1799 + (instancetype)arrayWithCapacity:(NSUInteger)count { |
| 1786 return [[[self alloc] initWithCapacity:count] autorelease]; | 1800 return [[[self alloc] initWithCapacity:count] autorelease]; |
| 1787 } | 1801 } |
| 1788 | 1802 |
| 1789 - (instancetype)init { | 1803 - (instancetype)init { |
| 1790 return [self initWithValues:NULL count:0]; | 1804 self = [super init]; |
| 1805 // No work needed; |
| 1806 return self; |
| 1791 } | 1807 } |
| 1792 | 1808 |
| 1793 - (instancetype)initWithValueArray:(GPBBoolArray *)array { | 1809 - (instancetype)initWithValueArray:(GPBBoolArray *)array { |
| 1794 return [self initWithValues:array->_values count:array->_count]; | 1810 return [self initWithValues:array->_values count:array->_count]; |
| 1795 } | 1811 } |
| 1796 | 1812 |
| 1797 - (instancetype)initWithValues:(const BOOL [])values count:(NSUInteger)count { | 1813 - (instancetype)initWithValues:(const BOOL [])values count:(NSUInteger)count { |
| 1798 self = [super init]; | 1814 self = [self init]; |
| 1799 if (self) { | 1815 if (self) { |
| 1800 if (count && values) { | 1816 if (count && values) { |
| 1801 _values = malloc(count * sizeof(BOOL)); | 1817 _values = reallocf(_values, count * sizeof(BOOL)); |
| 1802 if (values != NULL) { | 1818 if (_values != NULL) { |
| 1803 _capacity = count; | 1819 _capacity = count; |
| 1804 memcpy(_values, values, count * sizeof(BOOL)); | 1820 memcpy(_values, values, count * sizeof(BOOL)); |
| 1805 _count = count; | 1821 _count = count; |
| 1806 } else { | 1822 } else { |
| 1807 [self release]; | 1823 [self release]; |
| 1808 [NSException raise:NSMallocException | 1824 [NSException raise:NSMallocException |
| 1809 format:@"Failed to allocate %lu bytes", | 1825 format:@"Failed to allocate %lu bytes", |
| 1810 (unsigned long)(count * sizeof(BOOL))]; | 1826 (unsigned long)(count * sizeof(BOOL))]; |
| 1811 } | 1827 } |
| 1812 } | 1828 } |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2008 GPBEnumValidationFunc _validationFunc; | 2024 GPBEnumValidationFunc _validationFunc; |
| 2009 int32_t *_values; | 2025 int32_t *_values; |
| 2010 NSUInteger _count; | 2026 NSUInteger _count; |
| 2011 NSUInteger _capacity; | 2027 NSUInteger _capacity; |
| 2012 } | 2028 } |
| 2013 | 2029 |
| 2014 @synthesize count = _count; | 2030 @synthesize count = _count; |
| 2015 @synthesize validationFunc = _validationFunc; | 2031 @synthesize validationFunc = _validationFunc; |
| 2016 | 2032 |
| 2017 + (instancetype)array { | 2033 + (instancetype)array { |
| 2018 return [[[self alloc] initWithValidationFunction:NULL | 2034 return [[[self alloc] initWithValidationFunction:NULL] autorelease]; |
| 2019 rawValues:NULL | |
| 2020 count:0] autorelease]; | |
| 2021 } | 2035 } |
| 2022 | 2036 |
| 2023 + (instancetype)arrayWithValidationFunction:(GPBEnumValidationFunc)func { | 2037 + (instancetype)arrayWithValidationFunction:(GPBEnumValidationFunc)func { |
| 2024 return [[[self alloc] initWithValidationFunction:func | 2038 return [[[self alloc] initWithValidationFunction:func] autorelease]; |
| 2025 rawValues:NULL | |
| 2026 count:0] autorelease]; | |
| 2027 } | 2039 } |
| 2028 | 2040 |
| 2029 + (instancetype)arrayWithValidationFunction:(GPBEnumValidationFunc)func | 2041 + (instancetype)arrayWithValidationFunction:(GPBEnumValidationFunc)func |
| 2030 rawValue:(int32_t)value { | 2042 rawValue:(int32_t)value { |
| 2031 return [[[self alloc] initWithValidationFunction:func | 2043 return [[[self alloc] initWithValidationFunction:func |
| 2032 rawValues:&value | 2044 rawValues:&value |
| 2033 count:1] autorelease]; | 2045 count:1] autorelease]; |
| 2034 } | 2046 } |
| 2035 | 2047 |
| 2036 + (instancetype)arrayWithValueArray:(GPBEnumArray *)array { | 2048 + (instancetype)arrayWithValueArray:(GPBEnumArray *)array { |
| 2037 return [[(GPBEnumArray*)[self alloc] initWithValueArray:array] autorelease]; | 2049 return [[(GPBEnumArray*)[self alloc] initWithValueArray:array] autorelease]; |
| 2038 } | 2050 } |
| 2039 | 2051 |
| 2040 + (instancetype)arrayWithValidationFunction:(GPBEnumValidationFunc)func | 2052 + (instancetype)arrayWithValidationFunction:(GPBEnumValidationFunc)func |
| 2041 capacity:(NSUInteger)count { | 2053 capacity:(NSUInteger)count { |
| 2042 return [[[self alloc] initWithValidationFunction:func capacity:count] autorele
ase]; | 2054 return [[[self alloc] initWithValidationFunction:func capacity:count] autorele
ase]; |
| 2043 } | 2055 } |
| 2044 | 2056 |
| 2045 - (instancetype)init { | 2057 - (instancetype)init { |
| 2046 return [self initWithValidationFunction:NULL rawValues:NULL count:0]; | 2058 return [self initWithValidationFunction:NULL]; |
| 2047 } | 2059 } |
| 2048 | 2060 |
| 2049 - (instancetype)initWithValueArray:(GPBEnumArray *)array { | 2061 - (instancetype)initWithValueArray:(GPBEnumArray *)array { |
| 2050 return [self initWithValidationFunction:array->_validationFunc | 2062 return [self initWithValidationFunction:array->_validationFunc |
| 2051 rawValues:array->_values | 2063 rawValues:array->_values |
| 2052 count:array->_count]; | 2064 count:array->_count]; |
| 2053 } | 2065 } |
| 2054 | 2066 |
| 2055 - (instancetype)initWithValidationFunction:(GPBEnumValidationFunc)func { | 2067 - (instancetype)initWithValidationFunction:(GPBEnumValidationFunc)func { |
| 2056 return [self initWithValidationFunction:func rawValues:NULL count:0]; | 2068 self = [super init]; |
| 2069 if (self) { |
| 2070 _validationFunc = (func != NULL ? func : ArrayDefault_IsValidValue); |
| 2071 } |
| 2072 return self; |
| 2057 } | 2073 } |
| 2058 | 2074 |
| 2059 - (instancetype)initWithValidationFunction:(GPBEnumValidationFunc)func | 2075 - (instancetype)initWithValidationFunction:(GPBEnumValidationFunc)func |
| 2060 rawValues:(const int32_t [])values | 2076 rawValues:(const int32_t [])values |
| 2061 count:(NSUInteger)count { | 2077 count:(NSUInteger)count { |
| 2062 self = [super init]; | 2078 self = [self initWithValidationFunction:func]; |
| 2063 if (self) { | 2079 if (self) { |
| 2064 _validationFunc = (func != NULL ? func : ArrayDefault_IsValidValue); | |
| 2065 if (count && values) { | 2080 if (count && values) { |
| 2066 _values = malloc(count * sizeof(int32_t)); | 2081 _values = reallocf(_values, count * sizeof(int32_t)); |
| 2067 if (values != NULL) { | 2082 if (_values != NULL) { |
| 2068 _capacity = count; | 2083 _capacity = count; |
| 2069 memcpy(_values, values, count * sizeof(int32_t)); | 2084 memcpy(_values, values, count * sizeof(int32_t)); |
| 2070 _count = count; | 2085 _count = count; |
| 2071 } else { | 2086 } else { |
| 2072 [self release]; | 2087 [self release]; |
| 2073 [NSException raise:NSMallocException | 2088 [NSException raise:NSMallocException |
| 2074 format:@"Failed to allocate %lu bytes", | 2089 format:@"Failed to allocate %lu bytes", |
| 2075 (unsigned long)(count * sizeof(int32_t))]; | 2090 (unsigned long)(count * sizeof(int32_t))]; |
| 2076 } | 2091 } |
| 2077 } | 2092 } |
| 2078 } | 2093 } |
| 2079 return self; | 2094 return self; |
| 2080 } | 2095 } |
| 2081 | 2096 |
| 2082 - (instancetype)initWithValidationFunction:(GPBEnumValidationFunc)func | 2097 - (instancetype)initWithValidationFunction:(GPBEnumValidationFunc)func |
| 2083 capacity:(NSUInteger)count { | 2098 capacity:(NSUInteger)count { |
| 2084 self = [self initWithValidationFunction:func rawValues:NULL count:0]; | 2099 self = [self initWithValidationFunction:func]; |
| 2085 if (self && count) { | 2100 if (self && count) { |
| 2086 [self internalResizeToCapacity:count]; | 2101 [self internalResizeToCapacity:count]; |
| 2087 } | 2102 } |
| 2088 return self; | 2103 return self; |
| 2089 } | 2104 } |
| 2090 | 2105 |
| 2091 - (instancetype)copyWithZone:(NSZone *)zone { | 2106 - (instancetype)copyWithZone:(NSZone *)zone { |
| 2092 return [[GPBEnumArray allocWithZone:zone] | 2107 return [[GPBEnumArray allocWithZone:zone] |
| 2093 initWithValidationFunction:_validationFunc | 2108 initWithValidationFunction:_validationFunc |
| 2094 rawValues:_values | 2109 rawValues:_values |
| (...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2510 - (void)enumerateObjectsUsingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop)
)block { | 2525 - (void)enumerateObjectsUsingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop)
)block { |
| 2511 [_array enumerateObjectsUsingBlock:block]; | 2526 [_array enumerateObjectsUsingBlock:block]; |
| 2512 } | 2527 } |
| 2513 | 2528 |
| 2514 - (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts | 2529 - (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts |
| 2515 usingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop
))block { | 2530 usingBlock:(void (^)(id obj, NSUInteger idx, BOOL *stop
))block { |
| 2516 [_array enumerateObjectsWithOptions:opts usingBlock:block]; | 2531 [_array enumerateObjectsWithOptions:opts usingBlock:block]; |
| 2517 } | 2532 } |
| 2518 | 2533 |
| 2519 @end | 2534 @end |
| OLD | NEW |