1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #ifndef Py_INTERNAL_BYTESOBJECT_H
- #define Py_INTERNAL_BYTESOBJECT_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef Py_BUILD_CORE
- # error "this header requires Py_BUILD_CORE define"
- #endif
- /* Substring Search.
- Returns the index of the first occurrence of
- a substring ("needle") in a larger text ("haystack").
- If the needle is not found, return -1.
- If the needle is found, add offset to the index.
- */
- PyAPI_FUNC(Py_ssize_t)
- _PyBytes_Find(const char *haystack, Py_ssize_t len_haystack,
- const char *needle, Py_ssize_t len_needle,
- Py_ssize_t offset);
- /* Same as above, but search right-to-left */
- PyAPI_FUNC(Py_ssize_t)
- _PyBytes_ReverseFind(const char *haystack, Py_ssize_t len_haystack,
- const char *needle, Py_ssize_t len_needle,
- Py_ssize_t offset);
- /** Helper function to implement the repeat and inplace repeat methods on a buffer
- *
- * len_dest is assumed to be an integer multiple of len_src.
- * If src equals dest, then assume the operation is inplace.
- *
- * This method repeately doubles the number of bytes copied to reduce
- * the number of invocations of memcpy.
- */
- PyAPI_FUNC(void)
- _PyBytes_Repeat(char* dest, Py_ssize_t len_dest,
- const char* src, Py_ssize_t len_src);
- #ifdef __cplusplus
- }
- #endif
- #endif /* !Py_INTERNAL_BYTESOBJECT_H */
|