2 docCopyright("Steve Dekorte", 2002)
3 docLicense("BSD revised")
6 #ifndef IOREGULAREXPRESSION_DEFINED
7 #define IOREGULAREXPRESSION_DEFINED 1
13 #define ISREGULAREXPRESSION(self) IoObject_hasCloneFunc_(self, (IoTagCloneFunc *)IoRegex_rawClone)
15 typedef IoObject IoRegex
;
26 IoMessage
*getMatchProtoMessage
;
27 IoMessage
*cloneMatchMessage
;
28 IoMessage
*addCaptureRangeMessage
;
29 IoObject
*currentMatch
;
36 IoRegex
*IoRegex_rawClone(IoRegex
*self
);
37 IoRegex
*IoRegex_proto(void *state
);
38 IoRegex
*IoRegex_new(void *state
);
40 void IoRegex_free(IoRegex
*self
);
41 void IoRegex_mark(IoRegex
*self
);
43 /* ----------------------------------------------------------- */
44 IoObject
*IoRegex_setPattern(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
45 void IoRegex_justUpdatePattern(IoRegex
*self
, IoMessage
*m
);
46 IoObject
*IoRegex_pattern(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
48 IoObject
*IoRegex_setString(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
49 IoObject
*IoRegex_string(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
51 IoObject
*IoRegex_nextMatch(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
52 IoObject
*IoRegex_currentMatch(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
53 IoObject
*IoRegex_resetSearch(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
54 IoObject
*IoRegex_numberOfCaptures(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
56 IoObject
*IoRegex_version(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
58 /* --- compileOptions ----------------------------------- */
60 IoObject
*IoRegex_isCaseInsensitive(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
61 IoRegex
*IoRegex_setIsCaseInsensitive(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
63 IoObject
*IoRegex_isDollarEndOnly(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
64 IoRegex
*IoRegex_setIsDollarEndOnly(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
66 IoObject
*IoRegex_isDotAll(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
67 IoRegex
*IoRegex_setIsDotAll(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
69 IoObject
*IoRegex_isExtended(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
70 IoRegex
*IoRegex_setIsExtended(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
72 IoObject
*IoRegex_isMultiline(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
73 IoRegex
*IoRegex_setIsMultiline(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
75 IoObject
*IoRegex_isGreedy(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
76 IoRegex
*IoRegex_setIsGreedy(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
78 IoObject
*IoRegex_isUTF8(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
79 IoRegex
*IoRegex_setIsUTF8(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
81 /* --- execOptions ----------------------------------- */
83 IoObject
*IoRegex_canMatchEmpty(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);
84 IoRegex
*IoRegex_setCanMatchEmpty(IoRegex
*self
, IoObject
*locals
, IoMessage
*m
);