}
}
-cell string_nth(string* str, cell index)
-{
- return vm->string_nth(str,index);
-}
void factorvm::set_string_nth_fast(string *str, cell index, cell ch)
{
str->data()[index] = ch;
}
-void set_string_nth_fast(string *str, cell index, cell ch)
-{
- return vm->set_string_nth_fast(str,index,ch);
-}
void factorvm::set_string_nth_slow(string *str_, cell index, cell ch)
{
aux->data<u16>()[index] = ((ch >> 7) ^ 1);
}
-void set_string_nth_slow(string *str_, cell index, cell ch)
-{
- return vm->set_string_nth_slow(str_,index,ch);
-}
/* allocates memory */
void factorvm::set_string_nth(string *str, cell index, cell ch)
set_string_nth_slow(str,index,ch);
}
-void set_string_nth(string *str, cell index, cell ch)
-{
- return vm->set_string_nth(str,index,ch);
-}
/* Allocates memory */
string *factorvm::allot_string_internal(cell capacity)
return str;
}
-string *allot_string_internal(cell capacity)
-{
- return vm->allot_string_internal(capacity);
-}
/* Allocates memory */
void factorvm::fill_string(string *str_, cell start, cell capacity, cell fill)
}
}
-void fill_string(string *str_, cell start, cell capacity, cell fill)
-{
- return vm->fill_string(str_,start,capacity,fill);
-}
/* Allocates memory */
string *factorvm::allot_string(cell capacity, cell fill)
return str.untagged();
}
-string *allot_string(cell capacity, cell fill)
-{
- return vm->allot_string(capacity,fill);
-}
inline void factorvm::vmprim_string()
{
&& capacity <= string_capacity(str);
}
-bool reallot_string_in_place_p(string *str, cell capacity)
-{
- return vm->reallot_string_in_place_p(str,capacity);
-}
string* factorvm::reallot_string(string *str_, cell capacity)
{
}
}
-string* reallot_string(string *str_, cell capacity)
-{
- return vm->reallot_string(str_,capacity);
-}
inline void factorvm::vmprim_resize_string()
{
return sizeof(string) + size;
}
-string* allot_string_internal(cell capacity);
-string* allot_string(cell capacity, cell fill);
PRIMITIVE(string);
-string *reallot_string(string *string, cell capacity);
PRIMITIVE(resize_string);
-/* String getters and setters */
-cell string_nth(string* string, cell index);
-void set_string_nth(string* string, cell index, cell value);
-
PRIMITIVE(string_nth);
PRIMITIVE(set_string_nth_slow);
PRIMITIVE(set_string_nth_fast);