Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
///////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) Microsoft Corporation
//
// SYNOPSIS
//
// Declares the class RegularExpression.
//
///////////////////////////////////////////////////////////////////////////////
#ifndef REGEX_H
#define REGEX_H
#pragma once
struct IRegExp2; 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 ();
private: IRegExp2* regex;
// Used for creating RegExp objects.
static FastCoCreator theCreator;
// Not implemented.
RegularExpression(const RegularExpression&); RegularExpression& operator=(const RegularExpression&); };
#endif // REGEX_H
|