| parrotcode: String PMC Class | |
| Contents | PMCs |

classes/string.pmc - String PMC Class

String extends scalar to provide a string for languages that want a string type without going to an S register.
Acts as a wrapper for the functions in /src/string.c

void init()PMC *instantiate()void mark()PMC *clone()INTVAL get_integer()FLOATVAL get_number()BIGNUM *get_bignum()STRING *get_string()INTVAL get_bool()VOID set_integer_native(INTVAL value)value.VOID set_number_native(FLOATVAL value)value.VOID set_bignum_native(BIGNUM *value)value.
(unimplemented,
no-op)VOID set_string_native(STRING *value)string.VOID assign_string_native(STRING *value)string.VOID set_string_same(PMC *value)String PMC.VOID set_pmc(PMC *value)PMC.VOID assign_pmc(PMC *value)PMC.VOID bitwise_or(PMC *value, PMC *dest)VOID bitwise_and(PMC *value, PMC *dest)VOID bitwise_xor(PMC *value, PMC *dest)VOID bitwise_ors(PMC *value, PMC *dest)VOID bitwise_ors_str(PMC *value, PMC *dest)VOID bitwise_ands(PMC *value, PMC *dest)VOID bitwise_ands_str(PMC *value, PMC *dest)VOID bitwise_xors(PMC *value, PMC *dest)VOID bitwise_xors_str(PMC *value, PMC *dest)VOID bitwise_nots(PMC *value)dest.VOID concatenate(PMC *value, PMC *dest)value and places the result in dest.VOID concatenate_str(STRING *value, PMC *dest)value and places the result in dest.INTVAL is_equal(PMC *value)value; returns true if they match.INTVAL is_equal_num(PMC *value)value; returns true if they match.INTVAL is_equal_str(PMC *value)value; returns FALSE if they match.INTVAL is_same(PMC *value)value PMC.
Returns true if this PMC and the one in value are of the same PMC class and their strings are aliases of the same internal string.INTVAL cmp(PMC *value)value; returns -1 if the string is smaller,
0 if they are equal,
and 1 if value is smaller.INTVAL cmp_num(PMC *value)value; returns -1 if the string is smaller,
0 if they are equal,
and 1 if value is smaller.INTVAL cmp_string(PMC *value)value; returns -1 if the string is smaller,
0 if they are equal,
and 1 if value is smaller.void repeat(PMC *value, PMC *dest)value times and places the result in dest.void repeat_int(INTVAL value, PMC *dest)value times and places the result in dest.void substr(INTVAL offset, INTVAL length, PMC *dest)offset,
with size length,
and places it in dest.void substr(INTVAL offset, INTVAL length)offset,
with size length,
and returns it.INTVAL exists_keyed(PMC *key)key'th character in the string exists.
Negative numbers count from the end.STRING *get_string_keyed(PMC *key)key'th character in the string.
Negative numbers count from the end.INTVAL get_integer_keyed(PMC *key)*key.void set_string_keyed(PMC *key, STRING *val)key with value.void set_integer_keyed(PMC *key, INTVAL val)key with the chr of value.
PMC *slice (PMC *key, INTVAL f)key if f==0.PMC *get_iter (PMC *key)INTVAL elements ()
void freeze(visit_info *info)void thaw(visit_info *info)
PMC *lower()
|
|
|