Back to home page

EIC code displayed by LXR

 
 

    


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

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_REFARRAYVECTOROF_HPP)
0023 #define XERCESC_INCLUDE_GUARD_REFARRAYVECTOROF_HPP
0024 
0025 #include <xercesc/util/BaseRefVectorOf.hpp>
0026 
0027 XERCES_CPP_NAMESPACE_BEGIN
0028 
0029 /** 
0030  * Class with implementation for vectors of pointers to arrays  - implements from 
0031  * the Abstract class Vector
0032  */ 
0033 template <class TElem> class RefArrayVectorOf : public BaseRefVectorOf<TElem> 
0034 {
0035 public :
0036     // -----------------------------------------------------------------------
0037     //  Constructor
0038     // -----------------------------------------------------------------------
0039     RefArrayVectorOf( const XMLSize_t      maxElems
0040                     , const bool           adoptElems = true
0041                     , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
0042 
0043     // -----------------------------------------------------------------------
0044     //  Destructor
0045     // -----------------------------------------------------------------------
0046     ~RefArrayVectorOf();
0047 
0048     // -----------------------------------------------------------------------
0049     //  Element management
0050     // -----------------------------------------------------------------------
0051     void setElementAt(TElem* const toSet, const XMLSize_t setAt);
0052     void removeAllElements();
0053     void removeElementAt(const XMLSize_t removeAt);
0054     void removeLastElement();
0055     void cleanup();
0056 private:
0057     // -----------------------------------------------------------------------
0058     //  Unimplemented constructors and operators
0059     // -----------------------------------------------------------------------
0060     RefArrayVectorOf(const RefArrayVectorOf<TElem>&);
0061     RefArrayVectorOf<TElem>& operator=(const RefArrayVectorOf<TElem>&);
0062 };
0063 
0064 XERCES_CPP_NAMESPACE_END
0065 
0066 #if !defined(XERCES_TMPLSINC)
0067 #include <xercesc/util/RefArrayVectorOf.c>
0068 #endif
0069 
0070 #endif