00001
00025 #ifndef __MAGIC_MREGEXP_H__
00026 #define __MAGIC_MREGEXP_H__
00027
00028 #include <sys/types.h>
00029 #include <regex.h>
00030
00031
00032
00033 namespace MagiC {
00034
00035 class String;
00036
00037
00038 class RegExp;
00039 }
00040 BEGIN_NAMESPACE (MagiC);
00041
00042 template <class TYPE> class Array;
00043
00044
00046
00047
00048
00049
00050
00051
00052
00054
00055 class RegExp {
00056
00057 regex_t* regt;
00058 public:
00059
00060 int errcode;
00061
00062 RegExp () {regt=NULL; errcode=0;}
00063 RegExp (const char* expr) {regt=NULL; errcode=0; make (expr);}
00064 ~RegExp ();
00065
00066
00067 int make (const char* expr);
00068
00069
00070 int match (const char* string);
00071
00072
00073 int match (const String& string, Array<String>& results);
00074
00075
00076 String geterror () const;
00077 };
00078
00079 END_NAMESPACE;
00080
00081 #endif
00082