Objects/byteobjects

Search:
Group by:
Source   Edit  

bytesobject and bytesarrayobject

Types

CharsView = cstring
impl is unstable. It's UB if setitem to PyBytes's CharsView and in JS backend, currently it's just a copy, not a real view Source   Edit  
PyByteArrayObject = ref object of PyObject
  items*: seq[char]
  reprLock*: bool
  readNum*: int
  writeLock*: bool
Source   Edit  
PyBytesObject = ref object of PyObject
  items*: seq[char]
  setHash*: bool
  privateHash*: Hash
Source   Edit  
PyBytesWriter = object
  use_bytearray*: bool
Source   Edit  

Lets

pyByteArrayObjectType {.inject.} = newPyType("bytearray", pyObjectType)
Source   Edit  
pyBytesObjectType {.inject.} = newPyType("bytes", pyObjectType)
Source   Edit  

Procs

proc `$`(s: PyByteLike): string
Source   Edit  
proc `&`(s1, s2: PyByteArrayObject): PyByteArrayObject {....raises: [],
    tags: [RootEffect], forbids: [].}
Source   Edit  
proc `&`(s1, s2: PyBytesObject): PyBytesObject {....raises: [], tags: [RootEffect],
    forbids: [].}
Source   Edit  
proc `[]`(s: PyByteLike; i: int): char
Source   Edit  
proc `[]=`(s: PyByteArrayObject; i: int; c: char) {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc add(s: PyByteArrayObject; c: char) {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc add(self: PyByteArrayObject; b: PyByteLike)
Source   Edit  
proc add(self: var PyBytesWriter; c: char) {.inline, ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc allocated(self: PyBytesWriter): int {.
    error: "this writer is dynamically allocated".}
Source   Edit  
proc asString(s: PyByteArrayObject): string {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc asString(s: PyBytesObject): string {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc bufferNotImpl(): PyNotImplementedErrorObject {....raises: [],
    tags: [RootEffect], forbids: [].}
TODO:buffer: delete this once buffer api is implemented Source   Edit  
proc charsView(s: PyByteArrayObject): CharsView {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc charsView(s: PyBytesObject): CharsView {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc contains(s: PyByteLike; c: char): bool
Source   Edit  
proc finish(self: sink PyBytesWriter): PyObject {....raises: [],
    tags: [RootEffect], forbids: [].}
Source   Edit  
proc finish(self: sink PyBytesWriter; res: PyObject) {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc getCharPtr(s: PyByteLike; i: int): ptr char
unstable. not available on JS Source   Edit  
proc getInt(s: PyByteLike; i: int): PyIntObject
Source   Edit  
proc hash(self: PyBytesObject): Hash {....raises: [], tags: [RootEffect],
                                       forbids: [].}
Source   Edit  
proc initFromObject(self: PyByteArrayObject; x: PyObject): PyBaseErrorObject {.
    ...raises: [], tags: [RootEffect, WriteIOEffect], forbids: [].}
Source   Edit  
proc initPyBytesWriter(): PyBytesWriter {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc initPyBytesWriter(cap: int): PyBytesWriter {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc len(s: PyByteLike): int {.inline, cdecl.}
Source   Edit  
proc len(self: PyBytesWriter): int {.inline, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc newPyByteArray(): PyByteArrayObject {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc newPyByteArray(s: seq[char]): PyByteArrayObject {....raises: [],
    tags: [RootEffect], forbids: [].}
Source   Edit  
proc newPyByteArray(size: int): PyByteArrayObject {....raises: [],
    tags: [RootEffect], forbids: [].}
Source   Edit  
proc newPyByteArraySimple(): PyByteArrayObject {.cdecl, ...raises: [],
    tags: [RootEffect], forbids: [].}
Source   Edit  
proc newPyBytes(): PyBytesObject {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc newPyBytes(s: openArray[char]): PyBytesObject {....raises: [],
    tags: [RootEffect], forbids: [].}
Source   Edit  
proc newPyBytes(s: seq[char]): PyBytesObject {....raises: [], tags: [RootEffect],
    forbids: [].}
Source   Edit  
proc newPyBytes(size: int): PyBytesObject {....raises: [], tags: [RootEffect],
    forbids: [].}
Source   Edit  
proc newPyBytesSimple(): PyBytesObject {.cdecl, ...raises: [], tags: [RootEffect],
    forbids: [].}
Source   Edit  
proc ofExactPyByteArrayObject(obj`gensym5: PyObject): bool {.cdecl, inline,
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc ofExactPyBytesObject(obj`gensym0: PyObject): bool {.cdecl, inline,
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc ofPyByteArrayObject(obj`gensym5: PyObject): bool {.cdecl, inline,
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc ofPyBytesObject(obj`gensym0: PyObject): bool {.cdecl, inline, ...raises: [],
    tags: [], forbids: [].}
Source   Edit  
proc PyByteArray_FromObject(x: PyObject): PyObject {....raises: [],
    tags: [RootEffect, WriteIOEffect], forbids: [].}
Source   Edit  
proc PyBytes_FromObject(x: PyObject): PyObject {....raises: [],
    tags: [RootEffect, WriteIOEffect], forbids: [].}
Source   Edit  
proc repr(b: PyByteArrayObject): string {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc repr(b: PyBytesObject): string {....raises: [], tags: [], forbids: [].}
Source   Edit  
proc reset(self: var PyBytesWriter; cap: int = 0) {....raises: [], tags: [],
    forbids: [].}
like _PyBytesWriter_Alloc Source   Edit  
proc setLen(self: PyByteArrayObject; n: int) {....raises: [], tags: [], forbids: [].}
Source   Edit  

Methods

method `$`(s: PyByteArrayObject): string {....raises: [], tags: [], forbids: [].}
Source   Edit  
method `$`(s: PyBytesObject): string {....raises: [], tags: [], forbids: [].}
Source   Edit  

Iterators

iterator ints(s: PyByteLike): PyIntObject
Source   Edit  
iterator items(s: PyByteLike): char
Source   Edit  

Templates

template checkCharRangeOrRetVE(value: int; errSubject = "byte")
Source   Edit  
template PyNumber_AsCharOr(vv: PyObject; errSubject = "byte"; orDoIt): char
Source   Edit  
template PyNumber_AsCharOrRet(vv: PyObject; errSubject = "byte"): char
Source   Edit