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()
|