more SystemCall fixes
[io/quag.git] / addons / Regex / source / IoMatch.h
blob97cbcb95a035827847423444e731bb7989f1f283
1 /*
2 docCopyright("Steve Dekorte", 2002)
3 docLicense("BSD revised")
4 */
6 #ifndef IOMATCH_DEFINED
7 #define IOMATCH_DEFINED 1
9 #include "IoObject.h"
10 #include "IoList.h"
11 #include "IoMap.h"
12 #include <pcre.h>
14 #define ISMATCH(self) IoObject_hasCloneFunc_(self, (IoTagCloneFunc *)IoMatch_rawClone)
16 typedef IoObject IoMatch;
18 typedef struct
20 IoSymbol *subject;
21 IoList *captures;
22 IoList *ranges;
23 IoMap *nameToIndexMap;
24 } IoMatchData;
26 IoMatch *IoMatch_rawClone(IoMatch *self);
27 IoMatch *IoMatch_proto(void *state);
28 IoMatch *IoMatch_newFromRegex_(void *state, IoObject *regex);
30 void IoMatch_free(IoMatch *self);
31 void IoMatch_mark(IoMatch *self);
33 /* ------------------------------------------------------------------------------------------------*/
35 IoObject *IoMatch_subject(IoMatch *self, IoObject *locals, IoMessage *m);
36 IoObject *IoMatch_captures(IoMatch *self, IoObject *locals, IoMessage *m);
37 IoObject *IoMatch_ranges(IoMatch *self, IoObject *locals, IoMessage *m);
38 IoObject *IoMatch_nameToIndexMap(IoMatch *self, IoObject *locals, IoMessage *m);
40 #endif