Numworks Epsilon  1.4.1
Graphing Calculator Operating System
objstr.h File Reference
#include "py/obj.h"

Go to the source code of this file.

Classes

struct  _mp_obj_str_t
 

Macros

#define MP_DEFINE_STR_OBJ(obj_name, str)   mp_obj_str_t obj_name = {{&mp_type_str}, 0, sizeof(str) - 1, (const byte*)str}
 
#define GET_STR_HASH(str_obj_in, str_hash)
 
#define GET_STR_LEN(str_obj_in, str_len)
 
#define GET_STR_DATA_LEN(str_obj_in, str_data, str_len)   size_t str_len; const byte *str_data = mp_obj_str_get_data_no_check(str_obj_in, &str_len);
 

Typedefs

typedef struct _mp_obj_str_t mp_obj_str_t
 

Functions

const bytemp_obj_str_get_data_no_check (mp_obj_t self_in, size_t *len)
 
mp_obj_t mp_obj_str_make_new (const mp_obj_type_t *type_in, size_t n_args, size_t n_kw, const mp_obj_t *args)
 
void mp_str_print_json (const mp_print_t *print, const byte *str_data, size_t str_len)
 
mp_obj_t mp_obj_str_format (size_t n_args, const mp_obj_t *args, mp_map_t *kwargs)
 
mp_obj_t mp_obj_str_split (size_t n_args, const mp_obj_t *args)
 
mp_obj_t mp_obj_new_str_of_type (const mp_obj_type_t *type, const byte *data, size_t len)
 
mp_obj_t mp_obj_str_binary_op (mp_binary_op_t op, mp_obj_t lhs_in, mp_obj_t rhs_in)
 
mp_int_t mp_obj_str_get_buffer (mp_obj_t self_in, mp_buffer_info_t *bufinfo, mp_uint_t flags)
 
const bytestr_index_to_ptr (const mp_obj_type_t *type, const byte *self_data, size_t self_len, mp_obj_t index, bool is_slice)
 
const bytefind_subbytes (const byte *haystack, size_t hlen, const byte *needle, size_t nlen, int direction)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_encode_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_find_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_rfind_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_index_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_rindex_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_2 (str_join_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_split_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_KW (str_splitlines_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_rsplit_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_startswith_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_endswith_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_strip_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_lstrip_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_rstrip_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_KW (str_format_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_replace_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN (str_count_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_2 (str_partition_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_2 (str_rpartition_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_2 (str_center_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_1 (str_lower_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_1 (str_upper_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_1 (str_isspace_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_1 (str_isalpha_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_1 (str_isdigit_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_1 (str_isupper_obj)
 
 MP_DECLARE_CONST_FUN_OBJ_1 (str_islower_obj)
 

Macro Definition Documentation

◆ GET_STR_DATA_LEN

#define GET_STR_DATA_LEN (   str_obj_in,
  str_data,
  str_len 
)    size_t str_len; const byte *str_data = mp_obj_str_get_data_no_check(str_obj_in, &str_len);

Definition at line 55 of file objstr.h.

◆ GET_STR_HASH

#define GET_STR_HASH (   str_obj_in,
  str_hash 
)
Value:
mp_uint_t str_hash; if (MP_OBJ_IS_QSTR(str_obj_in)) \
{ str_hash = qstr_hash(MP_OBJ_QSTR_VALUE(str_obj_in)); } else { str_hash = ((mp_obj_str_t*)MP_OBJ_TO_PTR(str_obj_in))->hash; }
uintptr_t mp_uint_t
Definition: mpconfigport.h:74
#define MP_OBJ_QSTR_VALUE(o)
Definition: obj.h:91
mp_uint_t qstr_hash(qstr q)
Definition: qstr.c:269
#define MP_OBJ_TO_PTR(o)
Definition: obj.h:228

Definition at line 43 of file objstr.h.

◆ GET_STR_LEN

#define GET_STR_LEN (   str_obj_in,
  str_len 
)
Value:
size_t str_len; if (MP_OBJ_IS_QSTR(str_obj_in)) \
{ str_len = qstr_len(MP_OBJ_QSTR_VALUE(str_obj_in)); } else { str_len = ((mp_obj_str_t*)MP_OBJ_TO_PTR(str_obj_in))->len; }
#define MP_OBJ_QSTR_VALUE(o)
Definition: obj.h:91
#define MP_OBJ_TO_PTR(o)
Definition: obj.h:228
size_t qstr_len(qstr q)
Definition: qstr.c:273

Definition at line 48 of file objstr.h.

◆ MP_DEFINE_STR_OBJ

#define MP_DEFINE_STR_OBJ (   obj_name,
  str 
)    mp_obj_str_t obj_name = {{&mp_type_str}, 0, sizeof(str) - 1, (const byte*)str}

Definition at line 39 of file objstr.h.

Typedef Documentation

◆ mp_obj_str_t

typedef struct _mp_obj_str_t mp_obj_str_t

Function Documentation

◆ find_subbytes()

const byte* find_subbytes ( const byte haystack,
size_t  hlen,
const byte needle,
size_t  nlen,
int  direction 
)

Definition at line 263 of file objstr.c.

◆ MP_DECLARE_CONST_FUN_OBJ_1() [1/7]

MP_DECLARE_CONST_FUN_OBJ_1 ( str_lower_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_1() [2/7]

MP_DECLARE_CONST_FUN_OBJ_1 ( str_upper_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_1() [3/7]

MP_DECLARE_CONST_FUN_OBJ_1 ( str_isspace_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_1() [4/7]

MP_DECLARE_CONST_FUN_OBJ_1 ( str_isalpha_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_1() [5/7]

MP_DECLARE_CONST_FUN_OBJ_1 ( str_isdigit_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_1() [6/7]

MP_DECLARE_CONST_FUN_OBJ_1 ( str_isupper_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_1() [7/7]

MP_DECLARE_CONST_FUN_OBJ_1 ( str_islower_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_2() [1/4]

MP_DECLARE_CONST_FUN_OBJ_2 ( str_join_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_2() [2/4]

MP_DECLARE_CONST_FUN_OBJ_2 ( str_partition_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_2() [3/4]

MP_DECLARE_CONST_FUN_OBJ_2 ( str_rpartition_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_2() [4/4]

MP_DECLARE_CONST_FUN_OBJ_2 ( str_center_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_KW() [1/2]

MP_DECLARE_CONST_FUN_OBJ_KW ( str_splitlines_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_KW() [2/2]

MP_DECLARE_CONST_FUN_OBJ_KW ( str_format_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [1/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_encode_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [2/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_find_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [3/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_rfind_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [4/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_index_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [5/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_rindex_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [6/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_split_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [7/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_rsplit_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [8/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_startswith_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [9/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_endswith_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [10/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_strip_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [11/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_lstrip_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [12/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_rstrip_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [13/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_replace_obj  )

◆ MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN() [14/14]

MP_DECLARE_CONST_FUN_OBJ_VAR_BETWEEN ( str_count_obj  )

◆ mp_obj_new_str_of_type()

mp_obj_t mp_obj_new_str_of_type ( const mp_obj_type_t type,
const byte data,
size_t  len 
)

Definition at line 1981 of file objstr.c.

◆ mp_obj_str_binary_op()

mp_obj_t mp_obj_str_binary_op ( mp_binary_op_t  op,
mp_obj_t  lhs_in,
mp_obj_t  rhs_in 
)

Definition at line 291 of file objstr.c.

◆ mp_obj_str_format()

mp_obj_t mp_obj_str_format ( size_t  n_args,
const mp_obj_t args,
mp_map_t kwargs 
)

Definition at line 1364 of file objstr.c.

◆ mp_obj_str_get_buffer()

mp_int_t mp_obj_str_get_buffer ( mp_obj_t  self_in,
mp_buffer_info_t bufinfo,
mp_uint_t  flags 
)

Definition at line 1883 of file objstr.c.

◆ mp_obj_str_get_data_no_check()

const byte* mp_obj_str_get_data_no_check ( mp_obj_t  self_in,
size_t len 
)

Definition at line 2116 of file objstr.c.

◆ mp_obj_str_make_new()

mp_obj_t mp_obj_str_make_new ( const mp_obj_type_t type_in,
size_t  n_args,
size_t  n_kw,
const mp_obj_t args 
)

Definition at line 133 of file objstr.c.

◆ mp_obj_str_split()

mp_obj_t mp_obj_str_split ( size_t  n_args,
const mp_obj_t args 
)

Definition at line 484 of file objstr.c.

◆ mp_str_print_json()

void mp_str_print_json ( const mp_print_t print,
const byte str_data,
size_t  str_len 
)

◆ str_index_to_ptr()

const byte* str_index_to_ptr ( const mp_obj_type_t type,
const byte self_data,
size_t  self_len,
mp_obj_t  index,
bool  is_slice 
)

Definition at line 399 of file objstr.c.