You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
session-ios/Signal/src/util/ArrayUtil.m

39 lines
910 B
Matlab

12 years ago
#import "ArrayUtil.h"
#import "Constraints.h"
@implementation NSArray (Util)
-(NSData*) toUint8Data {
NSUInteger n = self.count;
12 years ago
uint8_t x[n];
for (NSUInteger i = 0; i < n; i++) {
x[i] = [(NSNumber*)self[i] unsignedCharValue];
12 years ago
}
return [NSData dataWithBytes:x length:n];
}
-(NSData*) concatDatas {
NSUInteger t = 0;
for (id d in self) {
require([d isKindOfClass:NSData.class]);
12 years ago
t += [(NSData*)d length];
}
NSMutableData* result = [NSMutableData dataWithLength:t];
uint8_t* dst = [result mutableBytes];
for (NSData* d in self) {
memcpy(dst, [d bytes], d.length);
dst += d.length;
12 years ago
}
return result;
}
-(NSArray*) concatArrays {
NSMutableArray* r = [NSMutableArray array];
for (id e in self) {
require([e isKindOfClass:NSArray.class]);
12 years ago
[r addObjectsFromArray:e];
}
return r;
}
@end