2015-03-11 01:58:10 -04:00
|
|
|
import vector;
|
|
|
|
|
import mem;
|
|
|
|
|
|
2015-05-16 12:05:23 -04:00
|
|
|
obj string (Destructable) {
|
2015-05-09 06:24:56 -04:00
|
|
|
var data: vector::vector<char>;
|
|
|
|
|
fun construct(): string* {
|
2015-03-11 01:58:10 -04:00
|
|
|
data.construct();
|
|
|
|
|
return this;
|
|
|
|
|
}
|
2015-05-09 06:24:56 -04:00
|
|
|
fun construct(str: char*): string* {
|
2015-03-11 01:58:10 -04:00
|
|
|
data.construct();
|
|
|
|
|
while(*str) {
|
|
|
|
|
data.addEnd(*str);
|
|
|
|
|
str += 1;
|
|
|
|
|
}
|
|
|
|
|
return this;
|
|
|
|
|
}
|
|
|
|
|
|
2015-05-09 06:24:56 -04:00
|
|
|
fun toCharArray(): char* {
|
|
|
|
|
var out: char* = mem::new<char>(data.size);
|
|
|
|
|
for (var i: int = 0; i < data.size; i++;)
|
2015-03-11 01:58:10 -04:00
|
|
|
out[i] = data.get(i);
|
|
|
|
|
return out;
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|