| 1 | /* see copyright notice in squirrel.h */ |
| 2 | #ifndef _SQSTD_STRING_H_ |
| 3 | #define _SQSTD_STRING_H_ |
| 4 | |
| 5 | #ifdef __cplusplus |
| 6 | extern "C" { |
| 7 | #endif |
| 8 | |
| 9 | typedef unsigned int SQRexBool; |
| 10 | typedef struct SQRex SQRex; |
| 11 | |
| 12 | typedef struct { |
| 13 | const SQChar *begin; |
| 14 | SQInteger len; |
| 15 | } SQRexMatch; |
| 16 | |
| 17 | SQUIRREL_API SQRex *sqstd_rex_compile(const SQChar *pattern,const SQChar **error); |
| 18 | SQUIRREL_API void sqstd_rex_free(SQRex *exp); |
| 19 | SQUIRREL_API SQBool sqstd_rex_match(SQRex* exp,const SQChar* text); |
| 20 | SQUIRREL_API SQBool sqstd_rex_search(SQRex* exp,const SQChar* text, const SQChar** out_begin, const SQChar** out_end); |
| 21 | SQUIRREL_API SQBool sqstd_rex_searchrange(SQRex* exp,const SQChar* text_begin,const SQChar* text_end,const SQChar** out_begin, const SQChar** out_end); |
| 22 | SQUIRREL_API SQInteger sqstd_rex_getsubexpcount(SQRex* exp); |
| 23 | SQUIRREL_API SQBool sqstd_rex_getsubexp(SQRex* exp, SQInteger n, SQRexMatch *subexp); |
| 24 | |
| 25 | SQUIRREL_API SQRESULT sqstd_format(HSQUIRRELVM v,SQInteger nformatstringidx,SQInteger *outlen,SQChar **output); |
| 26 | |
| 27 | SQUIRREL_API void sqstd_pushstringf(HSQUIRRELVM v,const SQChar *s,...); |
| 28 | |
| 29 | SQUIRREL_API SQRESULT sqstd_register_stringlib(HSQUIRRELVM v); |
| 30 | |
| 31 | #ifdef __cplusplus |
| 32 | } /*extern "C"*/ |
| 33 | #endif |
| 34 | |
| 35 | #endif /*_SQSTD_STRING_H_*/ |
| 36 | |