Go to the source code of this file.
Classes | |
struct | PmString_s |
Defines | |
#define | USE_STRING_CACHE 1 |
#define | string_loadFromImg(ms, paddr, r_pstring) string_create((ms), (paddr), (int16_t)-1, (int16_t)1, (r_pstring)) |
#define | string_new(paddr, r_pstring) string_create(MEMSPACE_RAM, (uint8_t const **)(paddr), 0, (int16_t)1, (r_pstring)) |
#define | string_newWithLen(paddr, len, r_pstring) |
#define | string_replicate(paddr, n, r_pstring) string_create(MEMSPACE_RAM, (paddr), (uint8_t)0, (n), (r_pstring)) |
Typedefs | |
typedef struct PmString_s | PmString_t |
typedef struct PmString_s * | pPmString_t |
Functions | |
PmReturn_t | string_create (PmMemSpace_t memspace, uint8_t const **paddr, int16_t len, int16_t n, pPmObj_t *r_pstring) |
PmReturn_t | string_newFromChar (uint8_t const c, pPmObj_t *r_pstring) |
int8_t | string_compare (pPmString_t pstr1, pPmString_t pstr2) |
PmReturn_t | string_cacheInit (void) |
PmReturn_t | string_getCache (pPmString_t **r_ppstrcache) |
PmReturn_t | string_concat (pPmString_t pstr1, pPmString_t pstr2, pPmObj_t *r_pstring) |
String object type header.
Definition in file strobj.h.
#define string_newWithLen | ( | paddr, | |||
len, | |||||
r_pstring | ) |
Value:
string_create(MEMSPACE_RAM, (uint8_t const **)(paddr), (len), (int16_t)1, \ (r_pstring))
#define string_replicate | ( | paddr, | |||
n, | |||||
r_pstring | ) | string_create(MEMSPACE_RAM, (paddr), (uint8_t)0, (n), (r_pstring)) |
#define USE_STRING_CACHE 1 |
typedef struct PmString_s PmString_t |
String obj
Null terminated array of chars.
PmReturn_t string_cacheInit | ( | void | ) |
int8_t string_compare | ( | pPmString_t | pstr1, | |
pPmString_t | pstr2 | |||
) |
PmReturn_t string_concat | ( | pPmString_t | pstr1, | |
pPmString_t | pstr2, | |||
pPmObj_t * | r_pstring | |||
) |
PmReturn_t string_create | ( | PmMemSpace_t | memspace, | |
uint8_t const ** | paddr, | |||
int16_t | len, | |||
int16_t | n, | |||
pPmObj_t * | r_pstring | |||
) |
Creates a new String obj. If len is less than zero, load from a String image. If len is zero, copy from a C string (which has a null terminator) If len is positive, copy as many chars as given in the len argument A string image has the following structure: -type: int8 - OBJ_TYPE_STRING -length: uint16 - number of bytes in the string -val: uint8[] - array of chars with null term
Returns by reference a ptr to String obj.
Obtain space for String from the heap. Copy string from memspace. Leave contents of paddr pointing one byte past end of str.
THE PROGRAMMER SHOULD NOT CALL THIS FUNCTION DIRECTLY. Instead, use one of the two macros string_loadFromImg() or string_new().
memspace | memory space where *paddr points | |
paddr | ptr to ptr to null term character array or image. | |
len | length of the C character array (use -1 for string images, 0 for C strings) | |
n | Number of times to replicate the given string argument | |
r_pstring | Return by reference; ptr to String obj |
PmReturn_t string_getCache | ( | pPmString_t ** | r_ppstrcache | ) |
PmReturn_t string_newFromChar | ( | uint8_t const | c, | |
pPmObj_t * | r_pstring | |||
) |