Addons updated to new doc format
[io.git] / addons / Regex / source / IoRegex.h
blob902ba047184a853db8fe80c2e63de9ba6d62bba0
1 /*
2 //metadoc copyright Steve Dekorte 2002
3 */
4 //metadoc license BSD revised
5 */
7 #ifndef IOREGEX_DEFINED
8 #define IOREGEX_DEFINED 1
10 #include "IoObject.h"
11 #include "IoMap.h"
12 #include "Regex.h"
14 #define ISREGEX(self) IoObject_hasCloneFunc_(self, (IoTagCloneFunc *)IoRegex_rawClone)
16 typedef IoObject IoRegex;
18 typedef struct
20 IoSymbol *pattern;
21 int options;
22 IoMap *nameToIndexMap;
23 Regex *regex;
24 } IoRegexData;
26 IoRegex *IoRegex_rawClone(IoRegex *self);
27 IoRegex *IoRegex_proto(void *state);
28 IoRegex *IoRegex_newWithPattern_(void *state, IoSymbol *pattern);
29 void IoRegex_free(IoRegex *self);
30 void IoRegex_mark(IoRegex *self);
32 Regex *IoRegex_rawRegex(IoRegex *self);
34 /* ------------------------------------------------------------------------------------------------*/
36 IoObject *IoRegex_with(IoRegex *self, IoObject *locals, IoMessage *m);
38 IoObject *IoRegex_pattern(IoRegex *self, IoObject *locals, IoMessage *m);
39 IoObject *IoRegex_captureCount(IoRegex *self, IoObject *locals, IoMessage *m);
40 IoObject *IoRegex_nameToIndexMap(IoRegex *self, IoObject *locals, IoMessage *m);
42 IoObject *IoRegex_version(IoRegex *self, IoObject *locals, IoMessage *m);
44 /* ------------------------------------------------------------------------------------------------*/
45 /* Options */
47 IoObject *IoRegex_caseless(IoRegex *self, IoObject *locals, IoMessage *m);
48 IoRegex *IoRegex_notCaseless(IoRegex *self, IoObject *locals, IoMessage *m);
49 IoObject *IoRegex_isCaseless(IoRegex *self, IoObject *locals, IoMessage *m);
51 IoObject *IoRegex_dotAll(IoRegex *self, IoObject *locals, IoMessage *m);
52 IoRegex *IoRegex_notDotAll(IoRegex *self, IoObject *locals, IoMessage *m);
53 IoObject *IoRegex_isDotAll(IoRegex *self, IoObject *locals, IoMessage *m);
55 IoObject *IoRegex_extended(IoRegex *self, IoObject *locals, IoMessage *m);
56 IoRegex *IoRegex_notExtended(IoRegex *self, IoObject *locals, IoMessage *m);
57 IoObject *IoRegex_isExtended(IoRegex *self, IoObject *locals, IoMessage *m);
59 IoObject *IoRegex_multiline(IoRegex *self, IoObject *locals, IoMessage *m);
60 IoRegex *IoRegex_notMultiline(IoRegex *self, IoObject *locals, IoMessage *m);
61 IoObject *IoRegex_isMultiline(IoRegex *self, IoObject *locals, IoMessage *m);
63 #endif