Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:15:01

0001 /*
0002  * Licensed to the Apache Software Foundation (ASF) under one or more
0003  * contributor license agreements.  See the NOTICE file distributed with
0004  * this work for additional information regarding copyright ownership.
0005  * The ASF licenses this file to You under the Apache License, Version 2.0
0006  * (the "License"); you may not use this file except in compliance with
0007  * the License.  You may obtain a copy of the License at
0008  * 
0009  *      http://www.apache.org/licenses/LICENSE-2.0
0010  * 
0011  * Unless required by applicable law or agreed to in writing, software
0012  * distributed under the License is distributed on an "AS IS" BASIS,
0013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0014  * See the License for the specific language governing permissions and
0015  * limitations under the License.
0016  */
0017 
0018 /*
0019  * $Id$
0020  */
0021 
0022 #if !defined(XERCESC_INCLUDE_GUARD_CLOSURETOKEN_HPP)
0023 #define XERCESC_INCLUDE_GUARD_CLOSURETOKEN_HPP
0024 
0025 // ---------------------------------------------------------------------------
0026 //  Includes
0027 // ---------------------------------------------------------------------------
0028 #include <xercesc/util/regx/Token.hpp>
0029 
0030 XERCES_CPP_NAMESPACE_BEGIN
0031 
0032 class XMLUTIL_EXPORT ClosureToken : public Token {
0033 public:
0034     // -----------------------------------------------------------------------
0035     //  Public Constructors and Destructor
0036     // -----------------------------------------------------------------------
0037     ClosureToken(const tokType tkType, Token* const tok
0038         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
0039     ~ClosureToken();
0040 
0041     // -----------------------------------------------------------------------
0042     //  Getter methods
0043     // -----------------------------------------------------------------------
0044     XMLSize_t size() const;
0045     int getMin() const;
0046     int getMax() const;
0047     Token* getChild(const XMLSize_t index) const;
0048 
0049     // -----------------------------------------------------------------------
0050     //  Setter methods
0051     // -----------------------------------------------------------------------
0052     void setMin(const int minVal);
0053     void setMax(const int maxVal);
0054 
0055 private:
0056     // -----------------------------------------------------------------------
0057     //  Unimplemented constructors and operators
0058     // -----------------------------------------------------------------------
0059     ClosureToken(const ClosureToken&);
0060     ClosureToken& operator=(const ClosureToken&);
0061 
0062     // -----------------------------------------------------------------------
0063     //  Private data members
0064     // -----------------------------------------------------------------------
0065     int    fMin;
0066     int    fMax;
0067     Token* fChild;
0068 };
0069 
0070 
0071 // ---------------------------------------------------------------------------
0072 //  ClosureToken: getter methods
0073 // ---------------------------------------------------------------------------
0074 inline XMLSize_t ClosureToken::size() const {
0075 
0076     return 1;
0077 }
0078 
0079 
0080 inline int ClosureToken::getMax() const {
0081 
0082     return fMax;
0083 }
0084 
0085 inline int ClosureToken::getMin() const {
0086 
0087     return fMin;
0088 }
0089 
0090 inline Token* ClosureToken::getChild(const XMLSize_t) const {
0091 
0092     return fChild;
0093 }
0094 
0095 // ---------------------------------------------------------------------------
0096 //  ClosureToken: setter methods
0097 // ---------------------------------------------------------------------------
0098 inline void ClosureToken::setMax(const int maxVal) {
0099 
0100     fMax = maxVal;
0101 }
0102 
0103 inline void ClosureToken::setMin(const int minVal) {
0104 
0105     fMin = minVal;
0106 }
0107 
0108 XERCES_CPP_NAMESPACE_END
0109 
0110 #endif
0111 
0112 /**
0113   * End of file ClosureToken.hpp
0114   */