Add objtuple.h to allow embedding of tuples inside other objects.
This is useful because tuple is closest analog of C static array.
This commit is contained in:
parent
ca318bba0d
commit
8eec8bcad9
@ -9,19 +9,14 @@
|
|||||||
#include "obj.h"
|
#include "obj.h"
|
||||||
#include "runtime0.h"
|
#include "runtime0.h"
|
||||||
#include "runtime.h"
|
#include "runtime.h"
|
||||||
|
#include "objtuple.h"
|
||||||
typedef struct _mp_obj_tuple_t {
|
|
||||||
mp_obj_base_t base;
|
|
||||||
machine_uint_t len;
|
|
||||||
mp_obj_t items[];
|
|
||||||
} mp_obj_tuple_t;
|
|
||||||
|
|
||||||
static mp_obj_t mp_obj_new_tuple_iterator(mp_obj_tuple_t *tuple, int cur);
|
static mp_obj_t mp_obj_new_tuple_iterator(mp_obj_tuple_t *tuple, int cur);
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* tuple */
|
/* tuple */
|
||||||
|
|
||||||
static void tuple_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t o_in) {
|
void tuple_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t o_in) {
|
||||||
mp_obj_tuple_t *o = o_in;
|
mp_obj_tuple_t *o = o_in;
|
||||||
print(env, "(");
|
print(env, "(");
|
||||||
for (int i = 0; i < o->len; i++) {
|
for (int i = 0; i < o->len; i++) {
|
||||||
|
7
py/objtuple.h
Normal file
7
py/objtuple.h
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
typedef struct _mp_obj_tuple_t {
|
||||||
|
mp_obj_base_t base;
|
||||||
|
machine_uint_t len;
|
||||||
|
mp_obj_t items[];
|
||||||
|
} mp_obj_tuple_t;
|
||||||
|
|
||||||
|
void tuple_print(void (*print)(void *env, const char *fmt, ...), void *env, mp_obj_t o_in);
|
Loading…
x
Reference in New Issue
Block a user