PythonMonkey   v0.8.2 (dev)
Loading...
Searching...
No Matches
StrType.cc File Reference

Struct for representing python strings. More...

#include "include/StrType.hh"
#include "include/JSStringProxy.hh"
#include "include/jsTypeFactory.hh"
#include <jsapi.h>
#include <js/String.h>
Include dependency graph for StrType.cc:

Macros

#define PY_UNICODE_HAS_WSTR   (PY_VERSION_HEX < 0x030c0000)
 
#define HIGH_SURROGATE_START   0xD800
 
#define HIGH_SURROGATE_END   0xDBFF
 
#define LOW_SURROGATE_START   0xDC00
 
#define LOW_SURROGATE_END   0xDFFF
 
#define PY_ASCII_OBJECT_CAST(op)   ((PyASCIIObject *)(op))
 
#define PY_COMPACT_UNICODE_OBJECT_CAST(op)   ((PyCompactUnicodeObject *)(op))
 
#define PY_UNICODE_OBJECT_CAST(op)   ((PyUnicodeObject *)(op))
 
#define PY_UNICODE_OBJECT_UTF8(op)   (PY_COMPACT_UNICODE_OBJECT_CAST(op)->utf8)
 
#define PY_UNICODE_OBJECT_UTF8_LENGTH(op)   (PY_COMPACT_UNICODE_OBJECT_CAST(op)->utf8_length)
 
#define PY_UNICODE_OBJECT_DATA_ANY(op)   (PY_UNICODE_OBJECT_CAST(op)->data.any)
 
#define PY_UNICODE_OBJECT_DATA_UCS2(op)   (PY_UNICODE_OBJECT_CAST(op)->data.ucs2)
 
#define PY_UNICODE_OBJECT_HASH(op)   (PY_ASCII_OBJECT_CAST(op)->hash)
 
#define PY_UNICODE_OBJECT_STATE(op)   (PY_ASCII_OBJECT_CAST(op)->state)
 
#define PY_UNICODE_OBJECT_KIND(op)   (PY_ASCII_OBJECT_CAST(op)->state.kind)
 
#define PY_UNICODE_OBJECT_LENGTH(op)   (PY_ASCII_OBJECT_CAST(op)->length)
 
#define PY_UNICODE_OBJECT_WSTR(op)   (PY_ASCII_OBJECT_CAST(op)->wstr)
 
#define PY_UNICODE_OBJECT_WSTR_LENGTH(op)   (PY_COMPACT_UNICODE_OBJECT_CAST(op)->wstr_length)
 
#define PY_UNICODE_OBJECT_READY(op)   (PY_ASCII_OBJECT_CAST(op)->state.ready)
 

Detailed Description

Struct for representing python strings.

Author
Caleb Aikens (caleb.nosp@m.@dis.nosp@m.tribu.nosp@m.tive.nosp@m..netw.nosp@m.ork), Giovanni Tedesco (giova.nosp@m.nni@.nosp@m.distr.nosp@m.ibut.nosp@m.ive.n.nosp@m.etwo.nosp@m.rk) and Philippe Laporte (phili.nosp@m.ppe@.nosp@m.distr.nosp@m.ibut.nosp@m.ive.n.nosp@m.etwo.nosp@m.rk)
Date
2022-08-08

Macro Definition Documentation

◆ HIGH_SURROGATE_END

#define HIGH_SURROGATE_END   0xDBFF

◆ HIGH_SURROGATE_START

#define HIGH_SURROGATE_START   0xD800

◆ LOW_SURROGATE_END

#define LOW_SURROGATE_END   0xDFFF

◆ LOW_SURROGATE_START

#define LOW_SURROGATE_START   0xDC00

◆ PY_ASCII_OBJECT_CAST

#define PY_ASCII_OBJECT_CAST (   op)    ((PyASCIIObject *)(op))

◆ PY_COMPACT_UNICODE_OBJECT_CAST

#define PY_COMPACT_UNICODE_OBJECT_CAST (   op)    ((PyCompactUnicodeObject *)(op))

◆ PY_UNICODE_HAS_WSTR

#define PY_UNICODE_HAS_WSTR   (PY_VERSION_HEX < 0x030c0000)

◆ PY_UNICODE_OBJECT_CAST

#define PY_UNICODE_OBJECT_CAST (   op)    ((PyUnicodeObject *)(op))

◆ PY_UNICODE_OBJECT_DATA_ANY

#define PY_UNICODE_OBJECT_DATA_ANY (   op)    (PY_UNICODE_OBJECT_CAST(op)->data.any)

◆ PY_UNICODE_OBJECT_DATA_UCS2

#define PY_UNICODE_OBJECT_DATA_UCS2 (   op)    (PY_UNICODE_OBJECT_CAST(op)->data.ucs2)

◆ PY_UNICODE_OBJECT_HASH

#define PY_UNICODE_OBJECT_HASH (   op)    (PY_ASCII_OBJECT_CAST(op)->hash)

◆ PY_UNICODE_OBJECT_KIND

#define PY_UNICODE_OBJECT_KIND (   op)    (PY_ASCII_OBJECT_CAST(op)->state.kind)

◆ PY_UNICODE_OBJECT_LENGTH

#define PY_UNICODE_OBJECT_LENGTH (   op)    (PY_ASCII_OBJECT_CAST(op)->length)

◆ PY_UNICODE_OBJECT_READY

#define PY_UNICODE_OBJECT_READY (   op)    (PY_ASCII_OBJECT_CAST(op)->state.ready)

◆ PY_UNICODE_OBJECT_STATE

#define PY_UNICODE_OBJECT_STATE (   op)    (PY_ASCII_OBJECT_CAST(op)->state)

◆ PY_UNICODE_OBJECT_UTF8

#define PY_UNICODE_OBJECT_UTF8 (   op)    (PY_COMPACT_UNICODE_OBJECT_CAST(op)->utf8)

◆ PY_UNICODE_OBJECT_UTF8_LENGTH

#define PY_UNICODE_OBJECT_UTF8_LENGTH (   op)    (PY_COMPACT_UNICODE_OBJECT_CAST(op)->utf8_length)

◆ PY_UNICODE_OBJECT_WSTR

#define PY_UNICODE_OBJECT_WSTR (   op)    (PY_ASCII_OBJECT_CAST(op)->wstr)

◆ PY_UNICODE_OBJECT_WSTR_LENGTH

#define PY_UNICODE_OBJECT_WSTR_LENGTH (   op)    (PY_COMPACT_UNICODE_OBJECT_CAST(op)->wstr_length)