80 lines
1.7 KiB
C++
80 lines
1.7 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Copyright (c) 1999, Microsoft Corp. All rights reserved.
|
|
//
|
|
// FILE
|
|
//
|
|
// regex.h
|
|
//
|
|
// SYNOPSIS
|
|
//
|
|
// Defines the class RegularExpression.
|
|
//
|
|
// MODIFICATION HISTORY
|
|
//
|
|
// 03/10/1999 Original version.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef REGEX_H
|
|
#define REGEX_H
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
struct IRegExp;
|
|
class FastCoCreator;
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// CLASS
|
|
//
|
|
// RegularExpression
|
|
//
|
|
// DESCRIPTION
|
|
//
|
|
// General-purpose regular expression evaluator.
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
class RegularExpression
|
|
{
|
|
public:
|
|
RegularExpression() throw ();
|
|
~RegularExpression() throw ();
|
|
|
|
HRESULT setGlobal(BOOL fGlobal) throw ();
|
|
HRESULT setIgnoreCase(BOOL fIgnoreCase) throw ();
|
|
HRESULT setPattern(PCWSTR pszPattern) throw ();
|
|
|
|
HRESULT replace(
|
|
BSTR sourceString,
|
|
BSTR replaceString,
|
|
BSTR* pDestString
|
|
) const throw ();
|
|
|
|
BOOL testBSTR(BSTR sourceString) const throw ();
|
|
BOOL testString(PCWSTR sourceString) const throw ();
|
|
|
|
void swap(RegularExpression& obj) throw ();
|
|
|
|
protected:
|
|
HRESULT checkInit() throw ();
|
|
|
|
HRESULT setBooleanProperty(
|
|
DISPID dispId,
|
|
BOOL newVal
|
|
) throw ();
|
|
|
|
private:
|
|
IRegExp* regex;
|
|
|
|
// Used for creating RegExp objects.
|
|
static FastCoCreator theCreator;
|
|
|
|
// Not implemented.
|
|
RegularExpression(const RegularExpression&);
|
|
RegularExpression& operator=(const RegularExpression&);
|
|
};
|
|
|
|
#endif // REGEX_H
|