blob: b41d88e133300b6f3ca876fc7d3b3c2fc79ed9fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#pragma once
class regexp;
class Regexp
{
public:
enum { NSUBEXP = 40 };
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 ivy::string operator[]( size_t i ) const;
size_t SubStart( size_t i ) const;
size_t SubLength( size_t i ) const;
ivy::string GetReplaceString( const char * source ) const;
ivy::string GetErrorString() const;
bool CompiledOK() const;
#if defined( _RE_DEBUG )
void Dump();
#endif
private:
const char * str; /* used to return substring offsets only */
mutable ivy::string m_szError;
regexp * rc;
void ClearErrorString() const;
size_t safeIndex( size_t i ) const;
};
|