python-on-a-chip online compiler
strobj.h File Reference
String Object Type. More...
Go to the source code of this file.
Data Structures | |
struct | PmString_s |
String obj. More... | |
Typedefs | |
typedef struct PmString_s | PmString_t |
String obj. | |
Functions | |
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. | |
PmReturn_t | string_newFromChar (uint8_t const c, pPmObj_t *r_pstring) |
Creates a new String object from a single character. | |
int8_t | string_compare (pPmString_t pstr1, pPmString_t pstr2) |
Compares two String objects for equality. | |
PmReturn_t | string_print (pPmObj_t pstr, uint8_t is_escaped) |
Sends out a string object bytewise. | |
PmReturn_t | string_cacheInit (void) |
Clears the string cache if one exists. | |
PmReturn_t | string_getCache (pPmString_t **r_ppstrcache) |
Returns a pointer to the base of the string cache. | |
PmReturn_t | string_concat (pPmString_t pstr1, pPmString_t pstr2, pPmObj_t *r_pstring) |
Returns a new string object that is the concatenation of the two given strings. | |
PmReturn_t | string_format (pPmString_t pstr, pPmObj_t parg, pPmObj_t *r_pstring) |
Returns a new string object that is created from the given format string and the argument(s). | |
PmReturn_t | string_printFormattedBytes (uint8_t *pb, uint8_t is_escaped, uint16_t n) |
Prints n bytes, formatting them if is_escaped is true. |
Detailed Description
String Object Type.
String object type header.
Definition in file strobj.h.
Typedef Documentation
typedef struct PmString_s PmString_t |
String obj.
Null terminated array of chars.
Function Documentation
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().
- Parameters:
-
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
- Returns:
- Return status
PmReturn_t string_format | ( | pPmString_t | pstr, |
pPmObj_t | parg, | ||
pPmObj_t * | r_pstring | ||
) |
PmReturn_t string_getCache | ( | pPmString_t ** | r_ppstrcache ) |
PmReturn_t string_newFromChar | ( | uint8_t const | c, |
pPmObj_t * | r_pstring | ||
) |
PmReturn_t string_print | ( | pPmObj_t | pstr, |
uint8_t | is_escaped | ||
) |
Sends out a string object bytewise.
Escaping and framing is configurable via is_escaped.
- Parameters:
-
pstr Ptr to string object is_escaped If 0, print out string as is. Otherwise escape unprintable characters and surround string with single quotes.
- Returns:
- Return status
PmReturn_t string_printFormattedBytes | ( | uint8_t * | pb, |
uint8_t | is_escaped, | ||
uint16_t | n | ||
) |
Generated on Tue Jul 12 2022 23:13:47 by 1.7.2