diff options
author | Victor Stinner <vstinner@redhat.com> | 2018-11-01 01:30:36 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-01 01:30:36 (GMT) |
commit | e281f7d80ce2584a7e6a36acffb5a9cd796a0fe2 (patch) | |
tree | 74c1415a5845bd18489b5adb648510ea8fb663da /Include/internal | |
parent | 50b48572d9a90c5bb36e2bef6179548ea927a35a (diff) | |
download | cpython-e281f7d80ce2584a7e6a36acffb5a9cd796a0fe2.zip cpython-e281f7d80ce2584a7e6a36acffb5a9cd796a0fe2.tar.gz cpython-e281f7d80ce2584a7e6a36acffb5a9cd796a0fe2.tar.bz2 |
bpo-35081: Move accu.h to Include/internal/pycore_accu.h (GH-10271)
The accu.h header is no longer part of the Python C API: it has been
moved to the "internal" headers which are restricted to Python
itself.
Replace #include "accu.h" with #include "pycore_accu.h".
Diffstat (limited to 'Include/internal')
-rw-r--r-- | Include/internal/pycore_accu.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Include/internal/pycore_accu.h b/Include/internal/pycore_accu.h new file mode 100644 index 0000000..ab1aad2 --- /dev/null +++ b/Include/internal/pycore_accu.h @@ -0,0 +1,35 @@ +#ifndef Py_LIMITED_API +#ifndef Py_INTERNAL_ACCU_H +#define Py_INTERNAL_ACCU_H +#ifdef __cplusplus +extern "C" { +#endif + +/*** This is a private API for use by the interpreter and the stdlib. + *** Its definition may be changed or removed at any moment. + ***/ + +/* + * A two-level accumulator of unicode objects that avoids both the overhead + * of keeping a huge number of small separate objects, and the quadratic + * behaviour of using a naive repeated concatenation scheme. + */ + +#undef small /* defined by some Windows headers */ + +typedef struct { + PyObject *large; /* A list of previously accumulated large strings */ + PyObject *small; /* Pending small strings */ +} _PyAccu; + +PyAPI_FUNC(int) _PyAccu_Init(_PyAccu *acc); +PyAPI_FUNC(int) _PyAccu_Accumulate(_PyAccu *acc, PyObject *unicode); +PyAPI_FUNC(PyObject *) _PyAccu_FinishAsList(_PyAccu *acc); +PyAPI_FUNC(PyObject *) _PyAccu_Finish(_PyAccu *acc); +PyAPI_FUNC(void) _PyAccu_Destroy(_PyAccu *acc); + +#ifdef __cplusplus +} +#endif +#endif /* !Py_INTERNAL_ACCU_H */ +#endif /* !Py_LIMITED_API */ |