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, pPmString_t) |
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.
#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 | ) |
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 |
Set to nonzero to enable string cache. DO NOT REMOVE THE DEFINITION.
typedef struct PmString_s PmString_t |
String obj
Null terminated array of chars.
PmReturn_t string_cacheInit | ( | void | ) |
int8_t string_compare | ( | pPmString_t | , | |
pPmString_t | ||||
) |
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) | |
Return | arg; ptr to String obj |
PmReturn_t string_getCache | ( | pPmString_t ** | r_ppstrcache | ) |
Returns a pointer to the base of the string cache
PmReturn_t string_newFromChar | ( | uint8_t const | c, | |
pPmObj_t * | r_pstring | |||
) |
Creates a new String object from a single character.
c | the character to become the string | |
r_psting | Return arg; ptr to String obj |