Source Files
Public Interface
- Tcl_NewListObj
- Tcl_DbNewListObj
- Tcl_SetListObj
- Tcl_ListObjGetElements
- Tcl_ListObjAppendList
- Tcl_ListObjAppendElement
- Tcl_ListObjIndex
- Tcl_ListObjLength
- Tcl_ListObjReplace
Private Interface
- TclListObjCopy
- TclLindexList
- TclLindexFlat
- TclLsetList
- TclLsetFlat
- TclListObjSetElement
- TclListObjGetElements
- TclListObjLength
- tclListType
Directly Depends On Public Interface Of
Directly Depends On Private Interface of
Discussion
Everything to do with the number or position of elements in a list is done with ints, and the INT_MAX limitation that imposes.
Tcl_ListObjGetElements returns pointer to the intrep of the list value, so there are somewhat tricky requirements regarding the period of validity.
TclListObjCopy is one important tool for dealing with those requirements -- a way to force a List intrep to stay around longer than it otherwise might, without more copying than needed. Either the importance of such gymnastics needs to fade or this routine or other suitable tools need to be made public.