circuitpython/shared
Jim Mussared 6da41b5900 py/obj: Merge getiter and iternext mp_obj_type_t slots.
The goal here is to remove a slot (making way to turn make_new into a slot)
as well as reduce code size by the ~40 references to mp_identity_getiter
and mp_stream_unbuffered_iter.

This introduces two new type flags:
- MP_TYPE_FLAG_ITER_IS_ITERNEXT: This means that the "iter" slot in the
  type is "iternext", and should use the identity getiter.
- MP_TYPE_FLAG_ITER_IS_CUSTOM: This means that the "iter" slot is a pointer
  to a mp_getiter_iternext_custom_t instance, which then defines both
  getiter and iternext.

And a third flag that is the OR of both, MP_TYPE_FLAG_ITER_IS_STREAM: This
means that the type should use the identity getiter, and
mp_stream_unbuffered_iter as iternext.

Finally, MP_TYPE_FLAG_ITER_IS_GETITER is defined as a no-op flag to give
the default case where "iter" is "getiter".

Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2022-09-19 19:06:13 +10:00
..
libc shared/libc/string0: Don't include string.h, and provide __memcpy_chk. 2021-11-17 13:58:07 +11:00
memzip all: Update to point to files in new shared/ directory. 2021-07-12 17:08:10 +10:00
netutils shared/netutils/dhcpserver: Match default DNS to server IP. 2022-07-12 17:15:31 +10:00
readline shared/readline: Use MP_REGISTER_ROOT_POINTER(). 2022-07-18 13:48:49 +10:00
runtime py/obj: Merge getiter and iternext mp_obj_type_t slots. 2022-09-19 19:06:13 +10:00
timeutils mimxrt/machine_rtc: Start RTC at boot and set datetime if not set. 2022-04-11 12:25:23 +10:00
upytesthelper ports: Add '.frozen' as the first entry in sys.path. 2021-12-18 00:08:07 +11:00
README.md lib,shared: Update README's based on contents of these dirs. 2021-07-13 00:17:02 +10:00

This directory contains libraries, utilities and helper code developed specifically for this project. The code is intended to be portable and usable by any port.