drgn/libdrgn/python
Omar Sandoval d1a6350bdd libdrgn: revamp generic vector API
The current generic vector API is pretty minimal and exposes its
internal members as part of the public interface. This has worked well
but prevents us from changing the vector implementation. In particular,
I'd like to have "small vector" variants that can store some entries
directly in the vector structure, use a smaller integer type for the
size and capacity, or both.

So, let's make the generated vector type "private" and add accessor
functions. This is very verbose in some cases, but it'll grant us much
more flexibility. While we're changing every user anyways, let's also
make use of _cleanup_(vector_deinit) where possible.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2023-08-16 14:13:38 -07:00
..
drgnpy.h libdrgn: require semicolon after DEFINE_{HASH,VECTOR,BINARY_SEARCH_TREE}* 2023-08-02 14:54:59 -07:00
error.c libdrgn: python: add _cleanup_pydecref_ scope guard 2023-08-02 12:28:42 -07:00
helpers.c libdrgn: python: add _cleanup_pydecref_ scope guard 2023-08-02 12:28:42 -07:00
language.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
main.c libdrgn: python: add _cleanup_pydecref_ scope guard 2023-08-02 12:28:42 -07:00
object.c libdrgn: support value objects with >64-bit integer types 2023-08-02 14:21:46 -07:00
platform.c libdrgn: python: add _cleanup_pydecref_ scope guard 2023-08-02 12:28:42 -07:00
program.c libdrgn: revamp generic vector API 2023-08-16 14:13:38 -07:00
stack_trace.c libdrgn: python: add _cleanup_pydecref_ scope guard 2023-08-02 12:28:42 -07:00
symbol.c libdrgn: python: add _cleanup_pydecref_ scope guard 2023-08-02 12:28:42 -07:00
test.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
thread.c libdrgn: python: add _cleanup_pydecref_ scope guard 2023-08-02 12:28:42 -07:00
type.c libdrgn: python: add _cleanup_pydecref_ scope guard 2023-08-02 12:28:42 -07:00
util.c libdrgn: python: add _cleanup_pydecref_ scope guard 2023-08-02 12:28:42 -07:00