xmlpscantoken.hpp
来自「IBM的解析xml的工具Xerces的源代码」· HPP 代码 · 共 179 行
HPP
179 行
/* * Copyright 1999-2000,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: XMLPScanToken.hpp,v $ * Revision 1.4 2004/09/08 13:55:59 peiyongz * Apache License Version 2.0 * * Revision 1.3 2003/05/15 18:26:07 knoaman * Partial implementation of the configurable memory manager. * * Revision 1.2 2002/11/04 15:00:21 tng * C++ Namespace Support. * * Revision 1.1.1.1 2002/02/01 22:21:52 peiyongz * sane_include * * Revision 1.4 2000/02/24 20:00:23 abagchi * Swat for removing Log from API docs * * Revision 1.3 2000/02/15 01:21:31 roddey * Some initial documentation improvements. More to come... * * Revision 1.2 2000/02/06 07:47:48 rahulj * Year 2K copyright swat. * * Revision 1.1.1.1 1999/11/09 01:08:36 twl * Initial checkin * * Revision 1.2 1999/11/08 20:44:39 rahul * Swat for adding in Product name and CVS comment log variable. * */#if !defined(XMLPSCANTOKEN_HPP)#define XMLPSCANTOKEN_HPP#include <xercesc/util/XMemory.hpp>XERCES_CPP_NAMESPACE_BEGINclass XMLScanner;/** * This simple class is used as a sanity check when the scanner is used to * do progressive parsing. It insures that things are not done out of * sequence and that sequences of scan calls are made correctly to the * right scanner instances. * * To client code, it is just a magic cookie which is obtained when a * progressive parse is begun, and which is passed back in on each subsequent * call of the progressive parse. */class XMLPARSER_EXPORT XMLPScanToken : public XMemory{public : // ----------------------------------------------------------------------- // Constructors and Destructor // ----------------------------------------------------------------------- /** @name Constructor */ //@{ XMLPScanToken(); XMLPScanToken(const XMLPScanToken& toCopy); //@} /** @name Destructor */ //@{ ~XMLPScanToken(); //@} // ----------------------------------------------------------------------- // Public operators // ----------------------------------------------------------------------- XMLPScanToken& operator=(const XMLPScanToken& toCopy);protected : // ----------------------------------------------------------------------- // XMLScanner is our friend, can you say friend? Sure... // ----------------------------------------------------------------------- friend class XMLScanner; // ----------------------------------------------------------------------- // Hidden methods for use by XMLScanner // ----------------------------------------------------------------------- void set ( const XMLUInt32 scannerId , const XMLUInt32 sequenceId );private : // ----------------------------------------------------------------------- // Private data members // // fScannerId // This field is set to the id of the scanner, to catch problems // where a token is gotten from one scanner and passed to another. // Each scanner is assigned an incrementing id. // // fSequenceId // In order to avoid problems such as calling scanNext() without // a call to scanFirst() and such, this value is set when scanFirst() // is called and matches this token to the current sequence id of // the scanner. // ----------------------------------------------------------------------- XMLUInt32 fScannerId; XMLUInt32 fSequenceId;};// ---------------------------------------------------------------------------// XMLPScanToken: Constructors and Operators// ---------------------------------------------------------------------------inline XMLPScanToken::XMLPScanToken() : fScannerId(0) , fSequenceId(0){}inline XMLPScanToken::XMLPScanToken(const XMLPScanToken& toCopy) : fScannerId(toCopy.fScannerId) , fSequenceId(toCopy.fSequenceId){}inline XMLPScanToken::~XMLPScanToken(){}// ---------------------------------------------------------------------------// XMLPScanToken: Public operators// ---------------------------------------------------------------------------inline XMLPScanToken& XMLPScanToken::operator=(const XMLPScanToken& toCopy){ if (this == &toCopy) return *this; fScannerId = toCopy.fScannerId; fSequenceId = toCopy.fSequenceId; return *this;}// ---------------------------------------------------------------------------// XMLPScanToken: Hidden methods// ---------------------------------------------------------------------------inline void XMLPScanToken::set( const XMLUInt32 scannerId , const XMLUInt32 sequenceId){ fScannerId = scannerId; fSequenceId = sequenceId;}XERCES_CPP_NAMESPACE_END#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?