94 lines
2.3 KiB
C
94 lines
2.3 KiB
C
|
/*------------------------------------------------------------------------*/
|
||
|
/* */
|
||
|
/* REGEXP.H */
|
||
|
/* */
|
||
|
/*------------------------------------------------------------------------*/
|
||
|
|
||
|
/*
|
||
|
* C/C++ Run Time Library - Version 10.0
|
||
|
*
|
||
|
* Copyright (c) 1998, 2000 by Inprise Corporation
|
||
|
* All Rights Reserved.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
/* $Revision: 9.3 $ */
|
||
|
|
||
|
#ifndef __cplusplus
|
||
|
#error Must use C++ for REGEXP.H
|
||
|
#endif
|
||
|
|
||
|
#ifndef __REGEXP_H
|
||
|
#define __REGEXP_H
|
||
|
|
||
|
#if !defined(___DEFS_H)
|
||
|
#include <_defs.h>
|
||
|
#endif
|
||
|
|
||
|
#if !defined( __EXCEPT_H )
|
||
|
#include <except.h>
|
||
|
#endif
|
||
|
|
||
|
#if !defined(RC_INVOKED)
|
||
|
|
||
|
#if defined(__STDC__)
|
||
|
#pragma warn -nak
|
||
|
#endif
|
||
|
|
||
|
#endif /* !RC_INVOKED */
|
||
|
|
||
|
|
||
|
/*------------------------------------------------------------------------*/
|
||
|
/* */
|
||
|
/* class TRegexp */
|
||
|
/* */
|
||
|
/* Implements regular expression searching */
|
||
|
/* */
|
||
|
/*------------------------------------------------------------------------*/
|
||
|
|
||
|
class _EXPCLASS TRegexp
|
||
|
{
|
||
|
|
||
|
public:
|
||
|
|
||
|
enum StatVal
|
||
|
{
|
||
|
OK=0,
|
||
|
ILLEGAL,
|
||
|
NOMEMORY,
|
||
|
TOOLONG
|
||
|
};
|
||
|
|
||
|
_RTLENTRY TRegexp( const char *cp );
|
||
|
_RTLENTRY TRegexp( const TRegexp &r );
|
||
|
_RTLENTRY ~TRegexp();
|
||
|
|
||
|
TRegexp & _RTLENTRY operator = ( const TRegexp &r ) throw();
|
||
|
TRegexp & _RTLENTRY operator = ( const char *cp ) throw();
|
||
|
size_t _RTLENTRY find( const char *cp,
|
||
|
size_t *len,
|
||
|
size_t start = 0 ) const;
|
||
|
StatVal _RTLENTRY status() throw() { return stat; }
|
||
|
|
||
|
private:
|
||
|
|
||
|
void _RTLENTRY copy_pattern( const TRegexp &r ) throw();
|
||
|
void _RTLENTRY gen_pattern( const char *cp ) throw();
|
||
|
|
||
|
unsigned char *the_pattern;
|
||
|
StatVal stat;
|
||
|
static const unsigned maxpat;
|
||
|
};
|
||
|
|
||
|
|
||
|
#if !defined(RC_INVOKED)
|
||
|
|
||
|
#if defined(__STDC__)
|
||
|
#pragma warn .nak
|
||
|
#endif
|
||
|
|
||
|
#endif /* !RC_INVOKED */
|
||
|
|
||
|
|
||
|
#endif /* __REGEXP_H */
|