Merged changes from branches/supertux-milestone2-grumbel/ to trunk/supertux/
[supertux.git] / external / squirrel / include / sqstdstring.h
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 SQRESULT sqstd_register_stringlib(HSQUIRRELVM v);
28
29 #ifdef __cplusplus
30 } /*extern "C"*/
31 #endif
32
33 #endif /*_SQSTD_STRING_H_*/