Objects/dictobject/ops

Search:
Group by:
Source   Edit  

Procs

proc `[]`(dict: PyDictObject; key: PyObject): PyObject {.
    ...raises: [DictError, KeyError], tags: [RootEffect], forbids: [].}
Source   Edit  
proc `[]`(dict: PyDictObject; key: PyStrObject): PyObject {....raises: [KeyError],
    tags: [RootEffect], forbids: [].}
Source   Edit  
proc `[]=`(dict: PyDictObject; key, value: PyObject) {....raises: [DictError],
    tags: [RootEffect], forbids: [].}
Source   Edit  
proc `[]=`(dict: PyDictObject; key: PyStrObject; value: PyObject) {....raises: [],
    tags: [RootEffect], forbids: [].}
Source   Edit  
proc clear(dict: PyDictObject) {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc contains(dict: PyDictObject; key: PyObject): bool {....raises: [DictError],
    tags: [RootEffect], forbids: [].}
may raises DictError where Python raises TypeError Source   Edit  
proc del(dict: PyDictObject; key: PyObject) {....raises: [DictError],
    tags: [RootEffect], forbids: [].}
do nothing if key not exists Source   Edit  
proc getItem(dict: PyDictObject; key: PyObject): PyObject {....raises: [],
    tags: [RootEffect], forbids: [].}
unlike PyDict_GetItem (which suppresses all errors for historical reasons), returns KeyError if missing key, TypeError if key unhashable Source   Edit  
proc getItemRef(dict: PyDictObject; key: PyObject; res: var PyObject;
                exc: var PyBaseErrorObject): GetItemRes {....raises: [],
    tags: [RootEffect], forbids: [].}
PyDict_GetItemRef: if key missing, set res to nil Source   Edit  
proc getItemRef(dict: PyDictObject; key: PyStrObject; res: var PyObject): bool {.
    ...raises: [], tags: [RootEffect], forbids: [].}
PyDict_GetItemStringRef Source   Edit  
proc getOptionalItem(dict: PyDictObject; key: PyObject): PyObject {....raises: [],
    tags: [RootEffect], forbids: [].}
like PyDict_GetItemWithError, can be used as PyMapping_GetOptionalItem: returns nil if missing key, TypeError if key unhashable Source   Edit  
proc hasKey(dict: PyDictObject; key: PyObject): bool {....raises: [DictError],
    tags: [RootEffect], forbids: [].}
may raises DictError where Python raises TypeError Source   Edit  
proc hasKey(dict: PyDictObject; key: PyStrObject): bool {....raises: [],
    tags: [RootEffect], forbids: [].}
Source   Edit  
proc newPyDict(table = initTable[PyObject, PyObject]()): PyDictObject {.
    ...raises: [], tags: [RootEffect], forbids: [].}
Source   Edit  
proc newPyDict(table: openArray[(PyObject, PyObject)]): PyDictObject {.
    ...raises: [DictError], tags: [RootEffect], forbids: [].}
Source   Edit  
proc setdefault(self: PyDictObject; key: PyObject; defVal: PyObject = pyNone): PyObject {.
    ...raises: [], tags: [RootEffect], forbids: [].}
Source   Edit  
proc setDefaultRef(self: PyDictObject; key, defVal: PyObject): GetItemRes {.
    ...raises: [DictError], tags: [RootEffect], forbids: [].}
PyDict_SetDefaultRef(..., NULL) Source   Edit  
proc setDefaultRef(self: PyDictObject; key, defVal: PyObject; res: var PyObject): GetItemRes {.
    ...raises: [], tags: [RootEffect], forbids: [].}
Source   Edit  
proc setDefaultRef(self: PyDictObject; key: PyStrObject; defVal: PyObject): GetItemRes {.
    ...raises: [], tags: [RootEffect], forbids: [].}
Source   Edit  

Templates

template len(self: PyDictObject): int
Source   Edit  
template withValue(dict: PyDictObject; key: PyObject; value; body)
return exception if error occurs on calling __hash__ or __eq__ Source   Edit  
template withValue(dict: PyDictObject; key: PyObject; value; body, elseBody)
return exception if error occurs on calling __hash__ or __eq__ Source   Edit  
template withValue(dict: PyDictObject; key: PyStrObject; value; body)
we know str.__eq__ and str.__hash__ never raises Source   Edit  
template withValue(dict: PyDictObject; key: PyStrObject; value; body, elseBody)
we know str.__eq__ and str.__hash__ never raises Source   Edit