parrotcode: Perl String | |
Contents | PMCs |
classes/perlstring.pmc - Perl String
PerlString
extends perlscalar
to provide Perl string behaviour.
void *invoke(void *next)
str
object according to 2.1.
Built-in Functions.void init()
void mark()
PMC *clone()
INTVAL get_integer()
FLOATVAL get_number()
BIGNUM *get_bignum()
NULL
.INTVAL get_bool()
STRING *get_repr()
INTVAL is_same(PMC *other)
*other
.void set_integer_native(INTVAL value)
PerlInt
and sets its value to value
.void set_number_native(FLOATVAL value)
PerlNum
and sets its value to value
.void set_string_native(STRING *value)
void assign_string_native(STRING *value)
void set_string_same(PMC *value)
PerlString
.void add(PMC *value, PMC *dest)
*value
to the string and returns the result in *dest
.void subtract(PMC *value, PMC *dest)
*value
from the string and returns the result in *dest
.void multiply(PMC *value, PMC *dest)
*value
and returns the result in *dest
.void divide(PMC *value, PMC *dest)
*value
and returns the result in *dest
.void modulus(PMC *value, PMC *dest)
mod
*value
and returns the result in *dest
.void bitwise_ors(PMC *value, PMC *dest)
void bitwise_ors_str(STRING *value, PMC *dest)
OR
for the string and *value
and returns the result in *dest
.void bitwise_xors(PMC *value, PMC *dest)
void bitwise_xors_str(STRING *value, PMC *dest)
XOR
for the string and *value
and returns the result in *dest
.void bitwise_ands(PMC *value, PMC *dest)
void bitwise_ands_str(STRING *value, PMC *dest)
AND
for the string and *value
and returns the result in *dest
.void bitwise_nots(PMC *dest)
NOT
for the string and returns the result in *dest
.void concatenate(PMC *value, PMC *dest)
*value
and return the result in *dest
,
morphing it to a PerlString if required.void concatenate_str(STRING *value, PMC *dest)
*value
and returns the result in *dest
.INTVAL is_equal(PMC *value)
==
operation.INTVAL cmp(PMC *value)
*value
.void repeat(PMC *value, PMC *dest)
*dest
the string repeated *value
times.void repeat_int(INTVAL value, PMC *dest)
*dest
the string repeated value
times.void increment()
void decrement()
void substr(INTVAL offset, INTVAL length, PMC *dest)
*dest
the length
character substring of the string starting at offset
.STRING *substr_str(INTVAL offset, INTVAL length)
length
character substring of the string starting at offset
.PMC *slice (PMC *key, INTVAL f)
key
if f==0.PMC *get_iter (PMC *key)
INTVAL elements ()
STRING *get_string_keyed(PMC *key)
PMC *get_pmc_keyed(PMC *key)
SELF[key]
.INTVAL get_integer_keyed(PMC *key)
*key
.void freeze(visit_info *info)
void thaw(visit_info *info)
|