亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? bmpattern.cpp

?? IBM的解析xml的工具Xerces的源代碼
?? CPP
字號(hào):
/* * Copyright 2001,2004 The Apache Software Foundation. *  * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//* * $Log: BMPattern.cpp,v $ * Revision 1.5  2004/09/08 13:56:47  peiyongz * Apache License Version 2.0 * * Revision 1.4  2003/10/01 16:32:40  neilg * improve handling of out of memory conditions, bug #23415.  Thanks to David Cargill. * * Revision 1.3  2003/05/15 18:42:54  knoaman * Partial implementation of the configurable memory manager. * * Revision 1.2  2002/11/04 15:17:00  tng * C++ Namespace Support. * * Revision 1.1.1.1  2002/02/01 22:22:28  peiyongz * sane_include * * Revision 1.2  2001/05/11 13:26:40  tng * Copyright update. * * Revision 1.1  2001/03/02 19:22:31  knoaman * Schema: Regular expression handling part I * */// ---------------------------------------------------------------------------//  Includes// ---------------------------------------------------------------------------#include <xercesc/util/regx/BMPattern.hpp>#include <xercesc/util/XMLString.hpp>#include <xercesc/util/Janitor.hpp>#include <xercesc/framework/MemoryManager.hpp>#include <xercesc/util/OutOfMemoryException.hpp>XERCES_CPP_NAMESPACE_BEGIN// ---------------------------------------------------------------------------//  BMPattern: Constructors// ---------------------------------------------------------------------------BMPattern::BMPattern( const XMLCh*         const pattern                    ,       bool                 ignoreCase                    ,       MemoryManager* const manager) :    fIgnoreCase(ignoreCase)    , fShiftTableLen(256)    , fShiftTable(0)    , fPattern(0)    , fUppercasePattern(0)    , fMemoryManager(manager){	try {        fPattern = XMLString::replicate(pattern, fMemoryManager);		initialize();	}    catch(const OutOfMemoryException&)    {        throw;    }    catch(...) {		cleanUp();		throw;	}}BMPattern::BMPattern( const XMLCh*         const pattern                    ,       int                  tableSize                    ,       bool                 ignoreCase                    ,       MemoryManager* const manager) :    fIgnoreCase(ignoreCase)    , fShiftTableLen(tableSize)    , fShiftTable(0)    , fPattern(0)    , fUppercasePattern(0)    , fMemoryManager(manager){	try {        fPattern = XMLString::replicate(pattern, fMemoryManager);		initialize();	}    catch(const OutOfMemoryException&)    {        throw;    }    catch(...) {		cleanUp();		throw;	}}BMPattern::~BMPattern() {	cleanUp();}// ---------------------------------------------------------------------------//  BMPattern: matches methods// ---------------------------------------------------------------------------int BMPattern::matches(const XMLCh* const content, int start, int limit) {	const unsigned int	patternLen = XMLString::stringLen(fPattern);	// Uppercase Content	XMLCh* ucContent = 0;	if (patternLen == 0)		return start;	if (fIgnoreCase) {				ucContent = XMLString::replicate(content, fMemoryManager);		XMLString::upperCase(ucContent);	}	ArrayJanitor<XMLCh> janUCContent(ucContent, fMemoryManager);	int index = start + patternLen;	while (index <= limit) {		int patternIndex = patternLen;		int nIndex = index + 1;		XMLCh ch;		while (patternIndex > 0) {			ch = content[--index];			if (ch != fPattern[--patternIndex]) {				// No match, so we will break. But first we have				// to check the ignore case flag. If it is set, then				// we try to match with the case ignored				if (!fIgnoreCase ||					(fUppercasePattern[patternIndex] != ucContent[index]))					break;			}			if (patternIndex == 0)				return index;		}		index += fShiftTable[ch % fShiftTableLen] + 1;		if (index < nIndex)			index = nIndex;	}	return -1;}// ---------------------------------------------------------------------------//  BMPattern: private helpers methods// ---------------------------------------------------------------------------void BMPattern::initialize() {	const unsigned int	patternLen = XMLString::stringLen(fPattern);	XMLCh* lowercasePattern = 0;	fShiftTable = (int*) fMemoryManager->allocate(fShiftTableLen*sizeof(int)); //new int[fShiftTableLen];	if (fIgnoreCase) {		fUppercasePattern = XMLString::replicate(fPattern, fMemoryManager);		lowercasePattern = XMLString::replicate(fPattern, fMemoryManager);		XMLString::upperCase(fUppercasePattern);		XMLString::lowerCase(lowercasePattern);	}	ArrayJanitor<XMLCh> janLowercase(lowercasePattern, fMemoryManager);	for (unsigned int i=0; i< fShiftTableLen; i++)		fShiftTable[i] = patternLen;	for (unsigned int k=0; k< patternLen; k++) {		XMLCh	ch = fPattern[k];		int		diff = patternLen - k - 1;		int		index = ch % fShiftTableLen;		if (diff < fShiftTable[index])			fShiftTable[index] = diff;		if (fIgnoreCase) {			for (int j=0; j< 2; j++) {				ch = (j == 0) ? fUppercasePattern[k] : lowercasePattern[k];				index = ch % fShiftTableLen;				if (diff < fShiftTable[index])					fShiftTable[index] = diff;			}		}	}}// ---------------------------------------------------------------------------//  BMPattern: Cleanup// ---------------------------------------------------------------------------void BMPattern::cleanUp() {    fMemoryManager->deallocate(fPattern);//delete [] fPattern;    fMemoryManager->deallocate(fUppercasePattern);//delete [] fUppercasePattern;    fMemoryManager->deallocate(fShiftTable);}XERCES_CPP_NAMESPACE_END/**  *	End of file BMPattern.cpp  */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av一区二区三区四区| 成人免费观看视频| 国产精品久久久久影院色老大| 91麻豆国产福利精品| 免费国产亚洲视频| 亚洲欧洲精品一区二区精品久久久 | 欧美视频中文一区二区三区在线观看| 美美哒免费高清在线观看视频一区二区| 国产精品久久久久桃色tv| 欧美一区二区在线不卡| 一本色道综合亚洲| 成人在线一区二区三区| 国产一区二区成人久久免费影院| 亚洲国产精品久久人人爱蜜臀| 国产欧美精品国产国产专区| 日韩欧美一区二区免费| 欧美日韩免费观看一区二区三区 | 亚洲人成小说网站色在线 | 色综合久久综合网97色综合| 成人黄色在线看| 一区二区三区四区在线免费观看| 99re热视频这里只精品 | 亚洲一二三级电影| 亚洲欧洲性图库| 欧美激情艳妇裸体舞| 亚洲综合小说图片| 亚洲另类中文字| 中文字幕在线不卡视频| 国产日韩欧美精品一区| 久久综合久久综合久久| 精品乱人伦小说| 日韩一区二区精品| 91精品欧美福利在线观看| 欧美性感一区二区三区| 在线国产亚洲欧美| 欧美伊人精品成人久久综合97| 91在线精品一区二区| 9i在线看片成人免费| av电影天堂一区二区在线观看| 国产成人久久精品77777最新版本| 久久精品国产亚洲aⅴ| 美女脱光内衣内裤视频久久网站 | 免费观看91视频大全| 男人的j进女人的j一区| 蜜桃免费网站一区二区三区| 久久精品噜噜噜成人88aⅴ| 激情六月婷婷综合| 国产一区中文字幕| 风间由美一区二区三区在线观看 | 色婷婷综合久久| 在线免费观看不卡av| 欧美日韩精品一区二区三区四区| 欧美日韩五月天| 91麻豆精品国产无毒不卡在线观看 | 香蕉乱码成人久久天堂爱免费| 亚洲一区二区欧美激情| 日韩国产欧美在线播放| 免费日韩伦理电影| 国产精品一区二区你懂的| 成人午夜免费av| 91美女片黄在线观看91美女| 欧美日韩一区二区欧美激情| 欧美一区二区三区免费大片| 欧美不卡在线视频| 国产精品午夜在线| 亚洲精品久久嫩草网站秘色| 日韩精品成人一区二区在线| 精品一区二区三区不卡| 成人av网站在线观看| 91久久精品一区二区| 欧美一区二区三区不卡| 国产欧美日韩精品a在线观看| 欧美一级片在线| 精品av久久707| 日韩精品中午字幕| 久久久精品免费观看| 国产精品女主播av| xfplay精品久久| 国产亚洲1区2区3区| 久久嫩草精品久久久精品一| 亚洲国产精华液网站w| 亚洲欧美一区二区三区孕妇| 亚洲一区二区三区四区在线 | 97精品国产露脸对白| 成人国产精品免费| 91福利精品视频| 亚洲国产精品久久久男人的天堂| 日韩精品影音先锋| 国产日本欧洲亚洲| 午夜精品久久久久久久久久久| 男女性色大片免费观看一区二区 | 久久综合九色综合97婷婷| 久久理论电影网| 日韩综合在线视频| 亚洲人成精品久久久久| 亚洲精品乱码久久久久| 日本亚洲三级在线| 99麻豆久久久国产精品免费优播| 欧美日本一道本在线视频| 国产精品久久久久永久免费观看| 午夜久久久久久| 91污在线观看| 丝袜a∨在线一区二区三区不卡| 欧美激情一区二区三区不卡| 91久久免费观看| 丁香啪啪综合成人亚洲小说| 欧美丰满嫩嫩电影| 亚洲男人的天堂网| 国产成人久久精品77777最新版本| 欧美国产成人精品| 亚洲国产精品麻豆| 在线一区二区视频| 一区二区欧美在线观看| 国产成人精品免费网站| 欧美一区二区三区日韩视频| 亚洲尤物在线视频观看| 色婷婷久久综合| 日韩成人精品视频| 欧美精品日日鲁夜夜添| 亚洲影院在线观看| 日韩美女一区二区三区| 伊人色综合久久天天| 91精品1区2区| 亚洲成人av资源| 51精品视频一区二区三区| 五月激情综合婷婷| 日韩一区二区三区电影在线观看 | 久久久久久久久97黄色工厂| 国产精品无圣光一区二区| 天天免费综合色| eeuss鲁片一区二区三区| 久久综合久久综合亚洲| 国产91在线观看| 日韩理论片一区二区| 亚洲乱码国产乱码精品精的特点| 亚洲精品一二三四区| 国产欧美日韩另类一区| 麻豆国产精品官网| 日韩美女一区二区三区四区| 精品一区二区三区免费观看 | 欧美无人高清视频在线观看| 亚洲日本在线看| 91视频一区二区三区| 亚洲人被黑人高潮完整版| 91论坛在线播放| 一卡二卡欧美日韩| 综合色中文字幕| 99久久国产综合精品色伊| 日韩理论在线观看| 欧美日韩在线播放三区四区| 午夜欧美一区二区三区在线播放| 欧美剧情片在线观看| 蜜桃视频在线一区| 2023国产精品| 床上的激情91.| 亚洲日本在线看| 欧美日韩精品一区二区天天拍小说| 午夜精品久久久久久久| 日韩一区二区三区视频在线 | 午夜精品久久久久久久久久 | 欧美无乱码久久久免费午夜一区| 日韩精品福利网| 久久一留热品黄| 99久久国产综合精品麻豆| 亚洲成人久久影院| xf在线a精品一区二区视频网站| 成人免费电影视频| 亚洲一区二区三区四区五区黄| 欧美久久久久久久久| 国内精品伊人久久久久影院对白| 中文字幕精品一区二区精品绿巨人| 欧美影视一区二区三区| 秋霞影院一区二区| 中文字幕国产一区| 欧美日免费三级在线| 国内精品伊人久久久久影院对白| 综合婷婷亚洲小说| 日韩你懂的在线观看| av一二三不卡影片| 日本中文字幕一区二区有限公司| 久久久精品一品道一区| 欧美综合在线视频| 国产一区二区三区免费看| 亚洲精品日产精品乱码不卡| 91精品综合久久久久久| 成人免费高清在线| 免费的成人av| 综合久久综合久久| 精品成人免费观看| 欧美日韩精品二区第二页| 国精品**一区二区三区在线蜜桃| 亚洲女厕所小便bbb| 亚洲精品一区二区三区在线观看| 在线观看免费一区| 国产一区二区三区香蕉| 亚洲成人动漫一区| 综合自拍亚洲综合图不卡区| 精品国产污网站| 日本久久精品电影| 丰满少妇在线播放bd日韩电影|