Swapped pointers to the other side for types to prevent ambiguity, i.e. *int instead of int*
This commit is contained in:
@@ -2,18 +2,18 @@ import vector
|
||||
import util
|
||||
import mem
|
||||
|
||||
fun string(in:char*):string {
|
||||
fun string(in:*char):string {
|
||||
var out:string = in
|
||||
return out
|
||||
}
|
||||
|
||||
obj string (Object) {
|
||||
var data: vector::vector<char>;
|
||||
fun construct(): string* {
|
||||
fun construct(): *string {
|
||||
data.construct();
|
||||
return this;
|
||||
}
|
||||
fun construct(str: char*): string* {
|
||||
fun construct(str: *char): *string {
|
||||
data.construct();
|
||||
while(*str) {
|
||||
data.addEnd(*str);
|
||||
@@ -22,23 +22,23 @@ obj string (Object) {
|
||||
// no null terminator
|
||||
return this;
|
||||
}
|
||||
fun construct(vec: vector::vector<char>): string* {
|
||||
fun construct(vec: vector::vector<char>): *string {
|
||||
data.copy_construct(&vec);
|
||||
return this;
|
||||
}
|
||||
fun construct(str: string): string* {
|
||||
fun construct(str: string): *string {
|
||||
return construct(str.data);
|
||||
}
|
||||
|
||||
fun copy_construct(old: string*): void {
|
||||
fun copy_construct(old: *string): void {
|
||||
data.copy_construct(&old->data)
|
||||
}
|
||||
|
||||
fun copy_construct(old: char**): void {
|
||||
fun copy_construct(old: **char): void {
|
||||
construct(*old)
|
||||
}
|
||||
|
||||
fun operator=(str: char*): void {
|
||||
fun operator=(str: *char): void {
|
||||
destruct();
|
||||
construct(str)
|
||||
}
|
||||
@@ -69,7 +69,7 @@ obj string (Object) {
|
||||
return length() == other.length() && !util::range(length()).any_true(fun(i: int):bool { return data[i] != other[i]; } )
|
||||
}
|
||||
|
||||
fun operator+(str: char*): string {
|
||||
fun operator+(str: *char): string {
|
||||
var newStr.construct(str):string
|
||||
var ret.construct(data + newStr.data):string
|
||||
return ret
|
||||
@@ -85,7 +85,7 @@ obj string (Object) {
|
||||
data += character
|
||||
}
|
||||
|
||||
fun operator+=(str: char*): void {
|
||||
fun operator+=(str: *char): void {
|
||||
var newStr.construct(str):string
|
||||
data += newStr.data
|
||||
}
|
||||
@@ -95,8 +95,8 @@ obj string (Object) {
|
||||
data += newStr.data
|
||||
}
|
||||
|
||||
fun toCharArray(): char* {
|
||||
var out: char* = mem::new<char>(data.size+1);
|
||||
fun toCharArray(): *char {
|
||||
var out: *char = mem::new<char>(data.size+1);
|
||||
for (var i: int = 0; i < data.size; i++;)
|
||||
out[i] = data.get(i);
|
||||
// null terminator
|
||||
|
||||
Reference in New Issue
Block a user