source: icXML/icXML-devel/src/xercesc/validators/common/CMRepeatingLeaf.hpp @ 3153

Last change on this file since 3153 was 3153, checked in by cameron, 6 years ago

Updates for build

File size: 4.8 KB
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*
19 * $Id: CMRepeatingLeaf.hpp 677396 2008-07-16 19:36:20Z amassari $
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_CMREPEATINGLEAF_HPP)
23#define XERCESC_INCLUDE_GUARD_CMREPEATINGLEAF_HPP
24
25#include <icxercesc/validators/common/CMLeaf.hpp>
26
27
28XERCES_CPP_NAMESPACE_BEGIN
29
30//
31//  A compound content model leaf node which carries occurence information.
32//
33class CMRepeatingLeaf : public CMLeaf
34{
35public :
36    // -----------------------------------------------------------------------
37    //  Constructors
38    // -----------------------------------------------------------------------
39    CMRepeatingLeaf
40    (
41          QName* const         element
42        , int                  minOccurs
43        , int                  maxOccurs
44        , unsigned int         position
45        , unsigned int         maxStates
46        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
47    );
48    CMRepeatingLeaf
49    (
50          QName* const         element
51        , int                  minOccurs
52        , int                  maxOccurs
53        , unsigned int         position
54        , bool                 adopt
55        , unsigned int         maxStates
56        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
57    );
58
59
60    // -----------------------------------------------------------------------
61    //  Getter methods
62    // -----------------------------------------------------------------------
63    int getMinOccurs() const;
64    int getMaxOccurs() const;
65
66    virtual bool isRepeatableLeaf() const;
67
68private :
69    // -----------------------------------------------------------------------
70    //  Private data members
71    //
72    //  fMinOccurs
73    //  fMaxOccurs
74    //      The cardinality of the repeating leaf
75    //
76    // -----------------------------------------------------------------------
77    int             fMinOccurs;
78    int             fMaxOccurs;
79
80    // -----------------------------------------------------------------------
81    //  Unimplemented constructors and operators
82    // -----------------------------------------------------------------------
83    CMRepeatingLeaf(const CMRepeatingLeaf&);
84    CMRepeatingLeaf& operator=(const CMRepeatingLeaf&);
85};
86
87
88// -----------------------------------------------------------------------
89//  Constructors
90// -----------------------------------------------------------------------
91inline CMRepeatingLeaf::CMRepeatingLeaf(   QName* const               element
92                                         , int                        minOccurs
93                                         , int                        maxOccurs
94                                         , unsigned int               position
95                                         , unsigned int               maxStates
96                                         ,       MemoryManager* const manager) :
97    CMLeaf(element, position, maxStates, manager)
98    , fMinOccurs(minOccurs)
99    , fMaxOccurs(maxOccurs)
100{
101}
102
103inline CMRepeatingLeaf::CMRepeatingLeaf(   QName* const               element
104                                         , int                        minOccurs
105                                         , int                        maxOccurs
106                                         , unsigned int               position
107                                         , bool                       adopt
108                                         , unsigned int               maxStates
109                                         ,       MemoryManager* const manager) :
110    CMLeaf(element, position, adopt, maxStates, manager)
111    , fMinOccurs(minOccurs)
112    , fMaxOccurs(maxOccurs)
113{
114}
115
116// ---------------------------------------------------------------------------
117//  Getter methods
118// ---------------------------------------------------------------------------
119inline int CMRepeatingLeaf::getMinOccurs() const
120{
121    return fMinOccurs;
122}
123
124inline int CMRepeatingLeaf::getMaxOccurs() const
125{
126    return fMaxOccurs;
127}
128
129inline bool CMRepeatingLeaf::isRepeatableLeaf() const
130{
131    return true;
132}
133
134XERCES_CPP_NAMESPACE_END
135
136#endif
Note: See TracBrowser for help on using the repository browser.