Xalan-C++ API Reference 1.12.0
XercesLiaisonXalanDOMStringPool.hpp
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18#if !defined(XERCESLIAISONXALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)
19#define XERCESLIAISONXALANDOMSTRINGPOOL_HEADER_GUARD_1357924680
20
21
22
23// Base include file. Must be first.
25
26
27
29
30
31
32#include <xercesc/util/Mutexes.hpp>
33
34
35
36namespace XALAN_CPP_NAMESPACE {
37
38
39
40// A version of XalanDOMStringPool which is synchronized using a Xerces Mutex.
42{
43public:
44
46 typedef xercesc::XMLMutex XMLMutexType;
47 typedef xercesc::XMLMutexLock XMLMutexLockType;
48
49 explicit
51
53 create(MemoryManager& theManager);
54
55 virtual
57
58 // These are inherited from XalanDOMStringPool...
59
60 virtual void
62
63 virtual size_t
64 size() const;
65
66 virtual const XalanDOMString&
68
69 virtual const XalanDOMString&
72 XalanDOMString::size_type theLength = XalanDOMString::npos);
73
74private:
75
76 // Not implemented, for now...
78
80 operator=(const XercesLiaisonXalanDOMStringPool&);
81
82 bool
84
85 // Data members...
86 mutable XMLMutexType m_mutex;
87};
88
89
90
91}
92
93
94
95#endif // !defined(XERCESLIAISONXALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
#define XALAN_XERCESPARSERLIAISON_EXPORT
XercesLiaisonXalanDOMStringPool(MemoryManager &theManager)
virtual void clear()
Clear the pool.
virtual const XalanDOMString & get(const XalanDOMChar *theString, XalanDOMString::size_type theLength=XalanDOMString::npos)
Get a pooled string.
static XercesLiaisonXalanDOMStringPool * create(MemoryManager &theManager)
virtual size_t size() const
Get the number of strings in the pool.
virtual const XalanDOMString & get(const XalanDOMString &theString)
Get a pooled string.
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)