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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? platformutils.hpp

?? IBM的解析xml的工具Xerces的源代碼
?? HPP
?? 第 1 頁 / 共 3 頁
字號:
/* * Copyright 1999-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. *//* * $Id: PlatformUtils.hpp,v 1.27 2004/09/08 13:56:22 peiyongz Exp $ */#if !defined(PLATFORMUTILS_HPP)#define PLATFORMUTILS_HPP#include <xercesc/util/XMLException.hpp>#include <xercesc/util/PanicHandler.hpp>XERCES_CPP_NAMESPACE_BEGINclass XMLMsgLoader;class XMLNetAccessor;class XMLTransService;class MemoryManager;class XMLMutex;////  For internal use only////  This class provides a simple abstract API via which lazily evaluated//  data can be cleaned up.//class XMLUTIL_EXPORT XMLDeleter{public :    virtual ~XMLDeleter();protected :    XMLDeleter();private :    XMLDeleter(const XMLDeleter&);    XMLDeleter& operator=(const XMLDeleter&);};/**  * Utilities that must be implemented in a platform-specific way.  *  * This class contains methods that must be implemented in a platform  * specific manner. The actual implementations of these methods are  * available in the per-platform files indide <code>src/util/Platforms  * </code>.  */class XMLUTIL_EXPORT XMLPlatformUtils{public :    /** @name Public Static Data */    //@{    /** The network accessor      *      * This is provided by the per-platform driver, so each platform can      * choose what actual implementation it wants to use. The object must      * be dynamically allocated.      *      * <i>Note that you may optionally, if your platform driver does not      * install a network accessor, set it manually from your client code      * after calling Initialize(). This works because this object is      * not required during initialization, and only comes into play during      * actual XML parsing.</i>      */    static XMLNetAccessor*      fgNetAccessor;    /** The transcoding service.      *      * This is provided by the per platform driver, so each platform can      * choose what implemenation it wants to use. When the platform      * independent initialization code needs to get a transcoding service      * object, it will call <code>makeTransService()</code> to ask the      * per-platform code to create one. Only one transcoding service      * object is reqeusted per-process, so it is shared and synchronized      * among parser instances within that process.      */    static XMLTransService*     fgTransService;    /** The Panic Handler      *      *   This is the application provided panic handler.       */    static PanicHandler*        fgUserPanicHandler;        /** The Panic Handler      *      *   This is the default panic handler.       */        static PanicHandler*        fgDefaultPanicHandler;    /** The configurable memory manager      *      *   This is the pluggable memory manager. If it is not provided by an      *   application, a default implementation is used.      */    static MemoryManager*       fgMemoryManager;        /** The array-allocating memory manager      *      *   This memory manager always allocates memory by calling the      *   global new[] operator. It may be used to allocate memory      *   where such memory needs to be deletable by calling delete [].      *   Since this allocator is always guaranteed to do the same thing      *   there is no reason, nor facility, to override it.      */    static MemoryManager*       fgArrayMemoryManager;    static XMLMutex*            fgAtomicMutex;        //@}    /** @name Initialization amd Panic methods */    //@{    /** Perform per-process parser initialization      *      * Initialization <b>must</b> be called first in any client code.      *      * The locale is set iff the Initialize() is invoked for the very first time,      * to ensure that each and every message loaders, in the process space, share      * the same locale.      *      * All subsequent invocations of Initialize(), with a different locale, have      * no effect on the message loaders, either instantiated, or to be instantiated.      *      * To set to a different locale, client application needs to Terminate() (or      * multiple Terminate() in the case where multiple Initialize() have been invoked      * before), followed by Initialize(new_locale).      *      * The default locale is "en_US".      *      * nlsHome: user specified location where MsgLoader retrieves error message files.      *          the discussion above with regard to locale, applies to this nlsHome      *          as well.      *      * panicHandler: application's panic handler, application owns this handler.      *               Application shall make sure that the plugged panic handler persists       *               through the call to XMLPlatformUtils::terminate().             *      * memoryManager: plugged-in memory manager which is owned by user      *                applications. Applications must make sure that the      *                plugged-in memory manager persist through the call to      *                XMLPlatformUtils::terminate()      */    static void Initialize(const char*          const locale = XMLUni::fgXercescDefaultLocale                         , const char*          const nlsHome = 0                         ,       PanicHandler*  const panicHandler = 0                         ,       MemoryManager* const memoryManager = 0);    /** Perform per-process parser termination      *      * The termination call is currently optional, to aid those dynamically      * loading the parser to clean up before exit, or to avoid spurious      * reports from leak detectors.      */    static void Terminate();    /** The panic mechanism.      *      * If, during initialization, we cannot even get far enough along      * to get transcoding up or get message loading working, we call      * this method.</p>      *      * Each platform can implement it however they want. This method will      * delegate the panic handling to a user specified panic handler or      * in the absence of it, the default panic handler.      *      * In case the default panic handler does not support a particular      * platform, the platform specific panic hanlding shall be implemented      * here </p>.      *       * @param reason The enumeration that defines the cause of the failure      */    static void panic    (        const   PanicHandler::PanicReasons    reason    );        //@}    /** @name File Methods */    //@{    /** Get the current file position      *      * This must be implemented by the per-platform driver, which should      * use local file services to deterine the current position within      * the passed file.      *      * Since the file API provided here only reads, if the host platform      * supports separate read/write positions, only the read position is      * of any interest, and hence should be the one returned.      *      * @param theFile The file handle      * @param manager The MemoryManager to use to allocate objects      */    static unsigned int curFilePos(FileHandle theFile        , MemoryManager* const manager  = XMLPlatformUtils::fgMemoryManager);    /** Closes the file handle      *      * This must be implemented by the per-platform driver, which should      * use local file services to close the passed file handle, and to      * destroy the passed file handle and any allocated data or system      * resources it contains.      *      * @param theFile The file handle to close      * @param manager The MemoryManager to use to allocate objects      */    static void closeFile(FileHandle theFile        , MemoryManager* const manager  = XMLPlatformUtils::fgMemoryManager);    /** Returns the file size      *      * This must be implemented by the per-platform driver, which should      * use local file services to determine the current size of the file      * represented by the passed handle.      *      * @param theFile The file handle whose size you want      * @param manager The MemoryManager to use to allocate objects      * @return Returns the size of the file in bytes      */    static unsigned int fileSize(FileHandle theFile        , MemoryManager* const manager  = XMLPlatformUtils::fgMemoryManager);    /** Opens the file      *      * This must be implemented by the per-platform driver, which should      * use local file services to open passed file. If it fails, a      * null handle pointer should be returned.      *      * @param fileName The string containing the name of the file      * @param manager The MemoryManager to use to allocate objects      * @return The file handle of the opened file      */    static FileHandle openFile(const char* const fileName        , MemoryManager* const manager  = XMLPlatformUtils::fgMemoryManager);    /** Opens a named file      *      * This must be implemented by the per-platform driver, which should      * use local file services to open the passed file. If it fails, a      * null handle pointer should be returned.      *      * @param fileName The string containing the name of the file      * @param manager The MemoryManager to use to allocate objects      * @return The file handle of the opened file      */    static FileHandle openFile(const XMLCh* const fileName        , MemoryManager* const manager  = XMLPlatformUtils::fgMemoryManager);    /** Open a named file to write      *      * This must be implemented by the per-platform driver, which should      * use local file services to open passed file. If it fails, a      * null handle pointer should be returned.      *      * @param fileName The string containing the name of the file      * @param manager The MemoryManager to use to allocate objects      * @return The file handle of the opened file      */    static FileHandle openFileToWrite(const char* const fileName        , MemoryManager* const manager  = XMLPlatformUtils::fgMemoryManager);    /** Open a named file to write      *      * This must be implemented by the per-platform driver, which should

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩美女在线视频| 色欧美日韩亚洲| 日韩欧美一区二区久久婷婷| 亚洲午夜在线视频| 不卡一区在线观看| 中文在线一区二区| 波多野洁衣一区| 亚洲精品国产精华液| 欧美优质美女网站| 日韩1区2区3区| 久久久影视传媒| 成人精品视频.| 亚洲夂夂婷婷色拍ww47| 91精品国产日韩91久久久久久| 日韩中文字幕不卡| 欧美mv日韩mv| 国产.欧美.日韩| 一区二区三区在线影院| 欧美日本韩国一区| 国产精品白丝jk白祙喷水网站| 国产精品成人免费在线| 欧美精品精品一区| 国产一区二三区| 亚洲男人的天堂一区二区| 555夜色666亚洲国产免| 国产麻豆视频一区| 亚洲欧美日韩国产成人精品影院 | 一区二区三区免费| 欧美一区二区三区影视| 激情av综合网| 亚洲欧美色图小说| 精品黑人一区二区三区久久| 国产成人综合在线播放| 亚洲h动漫在线| 久久这里只有精品视频网| 91视频在线观看免费| 六月婷婷色综合| 国产精品乱人伦一区二区| 欧美精品vⅰdeose4hd| 成人免费三级在线| 日本少妇一区二区| ㊣最新国产の精品bt伙计久久| 91精品国产色综合久久不卡蜜臀| 福利91精品一区二区三区| 亚洲国产精品嫩草影院| 国产欧美1区2区3区| 日韩一区二区电影在线| 91视频xxxx| 国产乱码精品一区二区三区五月婷 | 久久99久久99精品免视看婷婷| 日韩毛片一二三区| 久久午夜免费电影| 日韩午夜在线观看视频| 欧美综合视频在线观看| 成人v精品蜜桃久久一区| 精品一区二区三区的国产在线播放| 亚洲激情av在线| 欧美国产成人精品| 久久亚洲一区二区三区四区| 欧美精品日韩综合在线| aaa亚洲精品| 成人性生交大片免费看在线播放 | 国产a区久久久| 蓝色福利精品导航| 日韩中文字幕1| 一区二区三区毛片| 一区二区三区四区乱视频| 欧美激情在线一区二区| 久久综合狠狠综合久久激情| 制服丝袜成人动漫| 欧美高清dvd| 欧美日韩亚洲国产综合| 欧美亚洲一区二区在线| 91黄色小视频| 91免费观看视频在线| 99久久精品国产导航| 99久久国产综合精品女不卡| 成人午夜电影久久影院| 成人综合婷婷国产精品久久免费| 懂色一区二区三区免费观看| 国产成人免费视| 国产美女精品人人做人人爽| 国产一区二区三区久久悠悠色av| 国内精品写真在线观看| 久久99精品国产.久久久久久| 蜜桃久久久久久| 麻豆成人综合网| 久久激情五月婷婷| 精品对白一区国产伦| zzijzzij亚洲日本少妇熟睡| 91网站最新地址| 丁香天五香天堂综合| 天堂精品中文字幕在线| 亚洲精品久久7777| 综合久久给合久久狠狠狠97色 | 无码av免费一区二区三区试看| 91激情五月电影| 在线一区二区视频| 亚洲妇女屁股眼交7| 亚洲成人高清在线| 日本vs亚洲vs韩国一区三区二区 | 99久久免费视频.com| 色婷婷综合久久久中文字幕| 91久久人澡人人添人人爽欧美| 欧美性高清videossexo| 欧美一区二区三区四区高清| 久久一二三国产| 亚洲精选视频在线| 日韩精品成人一区二区三区| 国产一区二区三区电影在线观看| eeuss鲁一区二区三区| 欧美日韩电影在线播放| 欧美国产精品劲爆| 丝袜诱惑制服诱惑色一区在线观看 | 日韩情涩欧美日韩视频| 国产日韩欧美高清| 亚洲高清视频的网址| 国产自产视频一区二区三区| a级精品国产片在线观看| 欧美精品乱人伦久久久久久| 国产日韩欧美精品综合| 亚洲第一电影网| 国产精品77777竹菊影视小说| 99久久国产综合精品色伊| 欧美一二三区在线| 亚洲欧美日韩国产综合在线| 久久精品国产99久久6| 色综合天天综合网天天狠天天| 欧美一级理论性理论a| 亚洲丝袜制服诱惑| 国产一区二区三区观看| 欧美肥大bbwbbw高潮| 国产精品免费网站在线观看| 首页综合国产亚洲丝袜| 波多野结衣欧美| 久久久精品综合| 日韩精品欧美精品| 欧美性高清videossexo| 中文字幕av资源一区| 久久不见久久见免费视频7| 在线观看国产日韩| 国产精品久久久久一区二区三区共| 日韩高清不卡一区二区| 91蜜桃视频在线| 欧美国产一区二区| 国产一区二区在线观看视频| 欧美日韩不卡在线| 亚洲美女淫视频| 国产白丝精品91爽爽久久| 日韩欧美第一区| 日韩在线播放一区二区| 欧美性感一类影片在线播放| 日韩一区在线看| 丰满少妇在线播放bd日韩电影| 日韩精品一区二区三区四区| 天堂在线一区二区| 在线不卡中文字幕播放| 亚洲自拍偷拍综合| 一本到一区二区三区| 国产精品灌醉下药二区| 成人深夜在线观看| 中文字幕高清不卡| 成人精品国产福利| 成人欧美一区二区三区视频网页 | 色婷婷综合久久久中文一区二区| 国产精品久久影院| 成人久久视频在线观看| 国产网站一区二区| 床上的激情91.| 国产精品少妇自拍| 99久久国产综合色|国产精品| 国产精品久久久久久久第一福利| 国产91在线|亚洲| 国产精品美日韩| 91在线视频观看| 亚洲国产精品一区二区久久恐怖片 | 精品久久久久久无| 黄色资源网久久资源365| 欧美精品一区二区在线播放| 极品销魂美女一区二区三区| 久久五月婷婷丁香社区| 国产精品一区二区视频| 欧美激情在线看| 91丝袜国产在线播放| 亚洲一区二区3| 欧美精品在线观看播放| 极品少妇xxxx精品少妇| 国产日韩av一区二区| 91网上在线视频| 亚洲成人高清在线| 精品国产凹凸成av人网站| 高清在线观看日韩| 一区二区在线观看av| 91精品国产综合久久香蕉的特点| 精品一区二区久久| 国产欧美日韩另类视频免费观看| 91浏览器打开| 免费在线欧美视频| 国产精品久久看| 9191成人精品久久|