summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfcolin2007-02-01 13:04:37 +0000
committerfcolin2007-02-01 13:04:37 +0000
commit9063da1f2e1cb8a551eb5cac4715d73bb4c79dc3 (patch)
tree59ab95093313a26ff70893626ae4fae9e3761201
parent7b91dfb36b8ebcb0f5abb57207b2c6abdcf2fcff (diff)
downloadivy-cplusplus-9063da1f2e1cb8a551eb5cac4715d73bb4c79dc3.zip
ivy-cplusplus-9063da1f2e1cb8a551eb5cac4715d73bb4c79dc3.tar.gz
ivy-cplusplus-9063da1f2e1cb8a551eb5cac4715d73bb4c79dc3.tar.bz2
ivy-cplusplus-9063da1f2e1cb8a551eb5cac4715d73bb4c79dc3.tar.xz
Utilisateur : Fcolin Date : 16/06/00 Heure : 10:14 Créé (vss 1)
-rw-r--r--Bus/Ivy/Regexp.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/Bus/Ivy/Regexp.h b/Bus/Ivy/Regexp.h
new file mode 100644
index 0000000..22e2699
--- /dev/null
+++ b/Bus/Ivy/Regexp.h
@@ -0,0 +1,44 @@
+#ifndef __REGEXP_H__
+#define __REGEXP_H__
+
+
+class regexp;
+
+class Regexp
+{
+public:
+ enum { NSUBEXP = 20 };
+
+ Regexp();
+ Regexp( const char * exp, bool iCase = 0 );
+ Regexp( const Regexp &r );
+ ~Regexp();
+ const Regexp & operator=( const Regexp & r );
+
+ bool Match( const char * s );
+ int SubStrings() const;
+
+ const string operator[]( unsigned int i ) const;
+ int SubStart( unsigned int i ) const;
+ int SubLength( unsigned int i ) const;
+
+ string GetReplaceString( const char * source ) const;
+
+ string GetErrorString() const;
+ bool CompiledOK() const;
+
+#if defined( _RE_DEBUG )
+ void Dump();
+#endif
+private:
+ const char * str; /* used to return substring offsets only */
+ mutable string m_szError;
+ regexp * rc;
+
+ void ClearErrorString() const;
+ int safeIndex( unsigned int i ) const;
+
+};
+
+#endif
+