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

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

?? xmldatetime.hpp

?? IBM的解析xml的工具Xerces的源代碼
?? HPP
字號:
/* * 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. *//* * $Id: XMLDateTime.hpp,v 1.20 2004/09/08 13:56:24 peiyongz Exp $ * $Log: XMLDateTime.hpp,v $ * Revision 1.20  2004/09/08 13:56:24  peiyongz * Apache License Version 2.0 * * Revision 1.19  2004/08/31 20:50:50  peiyongz * Parse/keep milisecond as double to retain precision. * * Revision 1.18  2004/08/11 16:48:55  peiyongz * Allow XSValue access * * Revision 1.17  2004/01/29 11:48:47  cargilld * Code cleanup changes to get rid of various compiler diagnostic messages. * * Revision 1.16  2004/01/13 19:50:56  peiyongz * remove parseContent() * * Revision 1.14  2003/12/31 02:34:11  neilg * enable production of canonical representations for dates with negative years, or years >9999 * * Revision 1.13  2003/12/17 20:00:49  cargilld * Update for memory management so that the static memory manager (one * used to call Initialize) is only for static data. * * Revision 1.12  2003/12/17 00:18:35  cargilld * Update to memory management so that the static memory manager (one used to call Initialize) is only for static data. * * Revision 1.11  2003/12/11 21:38:12  peiyongz * support for Canonical Representation for Datatype * * Revision 1.10  2003/09/23 18:16:07  peiyongz * Inplementation for Serialization/Deserialization * * Revision 1.9  2003/08/14 02:57:27  knoaman * Code refactoring to improve performance of validation. * * Revision 1.8  2003/05/18 14:02:05  knoaman * Memory manager implementation: pass per instance manager. * * Revision 1.7  2003/05/15 19:07:46  knoaman * Partial implementation of the configurable memory manager. * * Revision 1.6  2003/05/09 15:13:46  peiyongz * Deprecated toString() in XMLNumber family * * Revision 1.5  2003/03/10 20:55:58  peiyongz * Schema Errata E2-40 double/float * * Revision 1.4  2003/02/02 23:54:43  peiyongz * getFormattedString() added to return original and converted value. * * Revision 1.3  2003/01/30 21:55:22  tng * Performance: create getRawData which is similar to toString but return the internal data directly, user is not required to delete the returned memory. * * Revision 1.2  2002/11/04 15:22:05  tng * C++ Namespace Support. * * Revision 1.1.1.1  2002/02/01 22:22:14  peiyongz * sane_include * * Revision 1.4  2001/11/22 20:23:00  peiyongz * _declspec(dllimport) and inline warning C4273 * * Revision 1.3  2001/11/12 20:36:54  peiyongz * SchemaDateTimeException defined * * Revision 1.2  2001/11/09 20:41:45  peiyongz * Fix: compilation error on Solaris and AIX. * * Revision 1.1  2001/11/07 19:16:03  peiyongz * DateTime Port * */#ifndef XML_DATETIME_HPP#define XML_DATETIME_HPP#include <xercesc/util/XMLNumber.hpp>#include <xercesc/util/PlatformUtils.hpp>#include <xercesc/util/XMLString.hpp>#include <xercesc/util/XMLUniDefs.hpp>#include <xercesc/util/SchemaDateTimeException.hpp>XERCES_CPP_NAMESPACE_BEGINclass XSValue;class XMLUTIL_EXPORT XMLDateTime : public XMLNumber{public:	enum valueIndex    {        CentYear   = 0,        Month      ,        Day        ,        Hour       ,        Minute     ,        Second     ,        MiliSecond ,  //not to be used directly        utc        ,        TOTAL_SIZE    };    enum utcType    {        UTC_UNKNOWN = 0,        UTC_STD        ,          // set in parse() or normalize()        UTC_POS        ,          // set in parse()        UTC_NEG                   // set in parse()    };    // -----------------------------------------------------------------------    // ctors and dtor    // -----------------------------------------------------------------------    XMLDateTime(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);    XMLDateTime(const XMLCh* const,                MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);    ~XMLDateTime();    inline void           setBuffer(const XMLCh* const);    // -----------------------------------------------------------------------    // Copy ctor and Assignment operators    // -----------------------------------------------------------------------    XMLDateTime(const XMLDateTime&);    XMLDateTime&          operator=(const XMLDateTime&);    // -----------------------------------------------------------------------    // Implementation of Abstract Interface    // -----------------------------------------------------------------------    /**     *     *  Deprecated: please use getRawData     *     */    virtual XMLCh*        toString() const;        virtual XMLCh*        getRawData() const;    virtual const XMLCh*  getFormattedString() const;    virtual int           getSign() const;    // -----------------------------------------------------------------------    // Canonical Representation    // -----------------------------------------------------------------------    XMLCh*                getDateTimeCanonicalRepresentation(MemoryManager* const memMgr) const;    XMLCh*                getTimeCanonicalRepresentation(MemoryManager* const memMgr)     const;    // -----------------------------------------------------------------------    // parsers    // -----------------------------------------------------------------------    void                  parseDateTime();       //DateTime    void                  parseDate();           //Date    void                  parseTime();           //Time    void                  parseDay();            //gDay    void                  parseMonth();          //gMonth    void                  parseYear();           //gYear    void                  parseMonthDay();       //gMonthDay    void                  parseYearMonth();      //gYearMonth    void                  parseDuration();       //duration    // -----------------------------------------------------------------------    // Comparison    // -----------------------------------------------------------------------    static int            compare(const XMLDateTime* const                                , const XMLDateTime* const);    static int            compare(const XMLDateTime* const                                , const XMLDateTime* const                                , bool                    );    static int            compareOrder(const XMLDateTime* const                                     , const XMLDateTime* const);                                        /***     * Support for Serialization/De-serialization     ***/    DECL_XSERIALIZABLE(XMLDateTime)private:    // -----------------------------------------------------------------------    // Constant data    // -----------------------------------------------------------------------	//    enum timezoneIndex    {        hh = 0,        mm ,        TIMEZONE_ARRAYSIZE    };    // -----------------------------------------------------------------------    // Comparison    // -----------------------------------------------------------------------    static int            compareResult(int                                      , int                                      , bool);    static void           addDuration(XMLDateTime*             pDuration                                    , const XMLDateTime* const pBaseDate                                    , int                      index);    static int            compareResult(const XMLDateTime* const                                      , const XMLDateTime* const                                      , bool                                      , int);    static inline int     getRetVal(int, int);    // -----------------------------------------------------------------------    // helper    // -----------------------------------------------------------------------    inline  void          reset();    inline  void          assertBuffer()               const;    inline  void          copy(const XMLDateTime&);    // allow multiple parsing    inline  void          initParser();    inline  bool          isNormalized()               const;    // -----------------------------------------------------------------------    // scaners    // -----------------------------------------------------------------------    void                  getDate();    void                  getTime();    void                  getYearMonth();    void                  getTimeZone(const int);    void                  parseTimeZone();    // -----------------------------------------------------------------------    // locator and converter    // -----------------------------------------------------------------------    int                   findUTCSign(const int start);    int                   indexOf(const int start                                , const int end                                , const XMLCh ch)     const;    int                   parseInt(const int start                                 , const int end)     const;    int                   parseIntYear(const int end) const;    double                parseMiliSecond(const int start                                        , const int end) const;    // -----------------------------------------------------------------------    // validator and normalizer    // -----------------------------------------------------------------------    void                  validateDateTime()          const;    void                  normalize();    void                  fillString(XMLCh*& ptr, valueIndex ind, int expLen) const;    int                   fillYearString(XMLCh*& ptr, valueIndex ind) const;    void                  searchMiliSeconds(XMLCh*& miliStartPtr, XMLCh*& miliEndPtr) const;    // -----------------------------------------------------------------------    // Unimplemented operator ==    // -----------------------------------------------------------------------	bool operator==(const XMLDateTime& toCompare) const;    // -----------------------------------------------------------------------    //  Private data members    //    //     fValue[]    //          object representation of date time.    //    //     fTimeZone[]    //          temporary storage for normalization    //    //     fStart, fEnd    //          pointers to the portion of fBuffer being parsed    //    //     fBuffer    //          raw data to be parsed, own it.    //    // -----------------------------------------------------------------------    int          fValue[TOTAL_SIZE];    int          fTimeZone[TIMEZONE_ARRAYSIZE];    int          fStart;    int          fEnd;    int          fBufferMaxLen;    XMLCh*       fBuffer;    double       fMiliSecond;    bool         fHasTime;    MemoryManager* fMemoryManager;    friend class XSValue;};inline void XMLDateTime::setBuffer(const XMLCh* const aString){    reset();    fEnd = XMLString::stringLen(aString);    if (fEnd > 0) {            if (fEnd > fBufferMaxLen)        {            fMemoryManager->deallocate(fBuffer);            fBufferMaxLen = fEnd + 8;            fBuffer = (XMLCh*) fMemoryManager->allocate((fBufferMaxLen+1) * sizeof(XMLCh));        }        memcpy(fBuffer, aString, (fEnd+1) * sizeof(XMLCh));    }}inline void XMLDateTime::reset(){    for ( int i=0; i < TOTAL_SIZE; i++ )        fValue[i] = 0;    fMiliSecond   = 0;    fHasTime      = false;    fTimeZone[hh] = fTimeZone[mm] = 0;    fStart = fEnd = 0;    if (fBuffer)        *fBuffer = 0;}inline void XMLDateTime::copy(const XMLDateTime& rhs){    for ( int i = 0; i < TOTAL_SIZE; i++ )        fValue[i] = rhs.fValue[i];    fMiliSecond   = rhs.fMiliSecond;    fHasTime      = rhs.fHasTime;    fTimeZone[hh] = rhs.fTimeZone[hh];    fTimeZone[mm] = rhs.fTimeZone[mm];    fStart = rhs.fStart;    fEnd   = rhs.fEnd;    if (fEnd > 0)    {        if (fEnd > fBufferMaxLen)        {            fMemoryManager->deallocate(fBuffer);//delete[] fBuffer;            fBufferMaxLen = rhs.fBufferMaxLen;            fBuffer = (XMLCh*) fMemoryManager->allocate((fBufferMaxLen+1) * sizeof(XMLCh));        }        memcpy(fBuffer, rhs.fBuffer, (fEnd+1) * sizeof(XMLCh));    }}inline void XMLDateTime::assertBuffer() const{    if ( ( !fBuffer )            ||         ( fBuffer[0] == chNull ) )    {        ThrowXMLwithMemMgr(SchemaDateTimeException               , XMLExcepts::DateTime_Assert_Buffer_Fail               , fMemoryManager);    }}inline void XMLDateTime::initParser(){    assertBuffer();    fStart = 0;   // to ensure scan from the very first beginning                  // in case the pointer is updated accidentally by someone else.}inline bool XMLDateTime::isNormalized() const{    return ( fValue[utc] == UTC_STD ? true : false );}inline int XMLDateTime::getRetVal(int c1, int c2){    if ((c1 == LESS_THAN    && c2 == GREATER_THAN) ||        (c1 == GREATER_THAN && c2 == LESS_THAN)      )    {        return INDETERMINATE;    }    return ( c1 != INDETERMINATE ) ? c1 : c2;}XERCES_CPP_NAMESPACE_END#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天天免费综合色| 精品综合免费视频观看| 3751色影院一区二区三区| 久久99国内精品| 国产精品久久久久久久久久免费看| 一本大道久久a久久综合婷婷| 男男gaygay亚洲| 最新欧美精品一区二区三区| 4438x亚洲最大成人网| 不卡一区在线观看| 日本vs亚洲vs韩国一区三区 | 色偷偷成人一区二区三区91| 日韩成人一级大片| 亚洲私人影院在线观看| 日韩精品一区在线| 欧美天堂亚洲电影院在线播放| 福利一区福利二区| 捆绑调教美女网站视频一区| 亚洲黄色在线视频| 亚洲国产成人私人影院tom| 欧美精品乱码久久久久久按摩| 9久草视频在线视频精品| 国产真实乱对白精彩久久| 日韩黄色片在线观看| 亚洲婷婷综合久久一本伊一区| 久久久久久久久久久久久夜| 欧美一级高清大全免费观看| 日本韩国一区二区| av亚洲精华国产精华| 国产成人夜色高潮福利影视| 麻豆91在线播放免费| 日韩激情一区二区| 亚洲高清视频的网址| 亚洲激情av在线| 一区二区三区在线免费视频| 中文字幕在线不卡一区二区三区| 国产婷婷色一区二区三区在线| 欧美tk—视频vk| 日韩欧美国产成人一区二区| 欧美高清视频www夜色资源网| 欧美午夜精品一区| 欧美撒尿777hd撒尿| 91久久精品日日躁夜夜躁欧美| 91影院在线观看| 91在线porny国产在线看| 91片在线免费观看| 色天天综合色天天久久| 精品国产1区二区| 日韩你懂的在线播放| 日韩美女视频一区二区在线观看| 欧美一级搡bbbb搡bbbb| 欧美一卡二卡三卡四卡| 日韩美女一区二区三区四区| 日韩精品中文字幕在线不卡尤物 | 久久影院视频免费| 久久免费视频色| 久久精品人人做人人爽97| 欧美国产精品劲爆| 亚洲久草在线视频| 亚洲不卡在线观看| 免费成人在线观看| 国产成人av电影免费在线观看| 国产a视频精品免费观看| 99久久亚洲一区二区三区青草| 色94色欧美sute亚洲线路一久| 欧美午夜精品理论片a级按摩| 777xxx欧美| 国产亚洲欧洲997久久综合| 中文字幕av资源一区| 亚洲美女区一区| 日韩精品乱码免费| 国产福利精品导航| 色素色在线综合| 欧美一卡在线观看| 国产精品国产a| 亚洲午夜久久久久久久久电影网 | 欧美日韩情趣电影| 欧美电影免费观看完整版| 国产午夜精品理论片a级大结局| 中文字幕一区二区三区在线不卡| 亚洲午夜一区二区| 激情综合色播激情啊| 99re成人在线| 日韩一区二区三区视频| 国产精品无码永久免费888| 亚洲乱码精品一二三四区日韩在线| 天天做天天摸天天爽国产一区 | 精品一二线国产| 9人人澡人人爽人人精品| 91精品婷婷国产综合久久竹菊| 色丁香久综合在线久综合在线观看| 欧美精品 日韩| 中文字幕日韩av资源站| 麻豆精品一区二区综合av| 极品少妇一区二区| 色婷婷av一区二区三区gif | 2021久久国产精品不只是精品| 亚洲va中文字幕| 日韩电影一区二区三区四区| 国产宾馆实践打屁股91| 在线播放日韩导航| 欧美大黄免费观看| 欧美精品一区二区在线观看| 国产精品的网站| 日本aⅴ免费视频一区二区三区 | 亚洲第四色夜色| 成人午夜在线视频| 日韩欧美激情四射| 香蕉成人啪国产精品视频综合网| 国产福利一区在线观看| 欧美一区二区三区免费| 综合久久国产九一剧情麻豆| 精品亚洲成a人| 5月丁香婷婷综合| 洋洋av久久久久久久一区| 99这里只有久久精品视频| 精品福利av导航| 日韩综合在线视频| 欧美日韩一区二区三区在线| 亚洲欧美综合色| 大美女一区二区三区| 日韩免费观看2025年上映的电影| 亚洲一二三四区| 色丁香久综合在线久综合在线观看 | 国产福利不卡视频| 欧美成人r级一区二区三区| 亚洲国产成人av| 欧美日韩一级二级| 亚洲国产成人av网| 欧美在线视频日韩| 夜夜揉揉日日人人青青一国产精品| av综合在线播放| 中文字幕一区二| 久久婷婷综合激情| 久久国产福利国产秒拍| 日韩久久精品一区| 毛片一区二区三区| 欧美一级夜夜爽| 日本不卡视频在线观看| 日韩欧美一级片| 麻豆成人综合网| 久久中文娱乐网| 国产一区二区精品在线观看| 精品欧美黑人一区二区三区| 久久99精品国产麻豆婷婷| 26uuu欧美| 成人免费av网站| 日韩理论片在线| 欧美在线不卡视频| 婷婷中文字幕综合| 日韩一区和二区| 国产一区在线看| 欧美极品少妇xxxxⅹ高跟鞋 | 欧美一级在线视频| 日本伊人午夜精品| 2020国产精品自拍| 成人精品高清在线| 亚洲人精品午夜| 欧美日韩精品专区| 久久精品国产77777蜜臀| 久久免费精品国产久精品久久久久 | 一区二区三区四区在线播放| 欧洲av在线精品| 日韩av电影免费观看高清完整版| 欧美成人精品福利| 不卡一区中文字幕| 天涯成人国产亚洲精品一区av| 欧美xxxxx牲另类人与| 国产精品1024| 伊人性伊人情综合网| 欧美一区二区在线播放| 国产一区二区久久| 玉足女爽爽91| 日韩一级大片在线| 成人黄色av网站在线| 亚洲国产综合在线| 男人操女人的视频在线观看欧美| 久久久精品人体av艺术| 91捆绑美女网站| 乱中年女人伦av一区二区| 国产日韩精品一区二区三区| 色婷婷av一区| 国内一区二区在线| 亚洲一区二区在线免费观看视频 | 欧美午夜精品一区| 国产高清亚洲一区| 亚洲一区在线观看视频| 精品国产三级电影在线观看| 91免费观看视频在线| 青青草97国产精品免费观看无弹窗版| 久久久三级国产网站| 欧洲日韩一区二区三区| 国产精品小仙女| 亚洲午夜私人影院| 国产午夜一区二区三区| 欧美日韩亚洲另类| av中文字幕一区| 国产又黄又大久久| 天堂在线一区二区| 中文字幕一区二区三区在线不卡|