Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

mregexp.h

Go to the documentation of this file.
00001 
00025 #ifndef __MAGIC_MREGEXP_H__
00026 #define __MAGIC_MREGEXP_H__
00027 
00028 #include <sys/types.h>
00029 #include <regex.h>
00030 
00031 // Externals:
00032 
00033 namespace MagiC {
00034     // Externals
00035     class String;
00036 
00037     // Internals
00038     class RegExp;
00039 }
00040 BEGIN_NAMESPACE (MagiC);
00041 
00042 template <class TYPE> class Array;
00043 
00044 
00046 //                                                                          //
00047 //                     ----              -----                              //
00048 //                     |   )  ___        |          --                      //
00049 //                     |---  /   )  ___  |---  \ / |  )                     //
00050 //                     | \   |---  (   \ |      X  |--                      //
00051 //                     |  \   \__   ---/ |____ / \ |                        //
00052 //                                  __/                                     //
00054 
00055 class RegExp { // : public Object
00056     
00057     regex_t*    regt;
00058   public:
00059     // Mahdolliset käännöksissä tai vertailuissa havaitut virheet
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     // Esikääntää ekspression. Palauttaa !=0 virheen sattuessa
00067     int         make        (const char* expr);
00068 
00069     // Palauttaa 1 jos sovitus onnistui
00070     int         match       (const char* string);
00071 
00072     // Kuten yllä, mutta tallentaa aliekspressioiden tulokset results-vektoriin
00073     int         match       (const String& string, Array<String>& results);
00074 
00075     // Palauttaa virheen kuvauksen merkkijonona
00076     String      geterror    () const;
00077 };
00078 
00079 END_NAMESPACE;
00080 
00081 #endif
00082 

Generated on Thu Feb 10 20:06:42 2005 for LibMagiC by doxygen1.2.18