Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

XalanDOMStringPool.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #if !defined(XALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)
17 #define XALANDOMSTRINGPOOL_HEADER_GUARD_1357924680
18 
19 
20 
21 // Base include file. Must be first.
23 
24 
25 
30 
31 
32 
33 XALAN_CPP_NAMESPACE_BEGIN
34 
35 
36 
38 {
39 public:
40 
41  enum { eDefaultBlockSize = 32,
44 
46 
48  typedef size_t bucket_count_type;
50 
58  explicit
60  MemoryManagerType& theManager,
61  block_size_type theBlockSize = eDefaultBlockSize,
62  bucket_count_type theBucketCount = eDefaultBucketCount,
63  bucket_size_type theBucketSize = eDefaultBucketSize);
64 
65  static XalanDOMStringPool*
66  create(
67  MemoryManagerType& theManager,
68  block_size_type theBlockSize = eDefaultBlockSize,
69  bucket_count_type theBucketCount = eDefaultBucketCount,
70  bucket_size_type theBucketSize = eDefaultBucketSize);
71 
72 
73  virtual
75 
80  virtual void
81  clear();
82 
88  virtual size_t
89  size() const;
90 
97  virtual const XalanDOMString&
98  get(const XalanDOMString& theString);
99 
107  virtual const XalanDOMString&
108  get(
109  const XalanDOMChar* theString,
111 
119  getHashTable() const
120  {
121  return m_hashTable;
122  }
123 
126  {
127  return m_hashTable.getMemoryManager();
128  }
129 
130  const MemoryManagerType&
132  {
133  return m_hashTable.getMemoryManager();
134  }
135 
136 private:
137 
138  // Not implemented, for now...
140 
142  operator=(const XalanDOMStringPool&);
143 
144  bool
145  operator==(const XalanDOMStringPool&) const;
146 
147  // Data members...
148  AllocatorType m_stringAllocator;
149 
150  size_t m_stringCount;
151 
152  XalanDOMStringHashTable m_hashTable;
153 
154  static const XalanDOMString s_emptyString;
155 };
156 
157 
158 
159 XALAN_CPP_NAMESPACE_END
160 
161 
162 
163 #endif // !defined(XALANDOMSTRINGPOOL_HEADER_GUARD_1357924680)
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
Definition: XalanVector.hpp:1111
XALAN_CPP_NAMESPACE_BEGIN typedef XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager MemoryManagerType
Definition: XalanMemoryManagement.hpp:39
BucketType::size_type bucket_size_type
Definition: XalanDOMStringHashTable.hpp:47
Definition: XalanDOMStringHashTable.hpp:42
AllocatorType::size_type block_size_type
Definition: XalanDOMStringPool.hpp:47
const MemoryManagerType & getMemoryManager() const
Definition: XalanDOMStringPool.hpp:131
void clear(XalanDOMString &theString)
Remove all elements from target string.
Definition: DOMStringHelper.hpp:2291
MemoryManagerType & getMemoryManager()
Definition: XalanDOMStringPool.hpp:125
size_t bucket_count_type
Definition: XalanDOMStringPool.hpp:48
Definition: XalanDOMStringPool.hpp:37
const XalanDOMStringHashTable & getHashTable() const
Get a reference to the pool's hash table.
Definition: XalanDOMStringPool.hpp:119
Definition: XalanDOMStringAllocator.hpp:39
Definition: XalanDOMStringHashTable.hpp:50
Definition: XalanDOMStringHashTable.hpp:50
ArenaAllocatorType::size_type size_type
Definition: XalanDOMStringAllocator.hpp:55
Definition: XalanDOMString.hpp:42
#define XALAN_PLATFORMSUPPORT_EXPORT
Definition: PlatformSupportDefinitions.hpp:33
unsigned int size_type
Definition: XalanDOMString.hpp:53
XalanDOMStringAllocator AllocatorType
Definition: XalanDOMStringPool.hpp:45
XalanDOMStringHashTable::bucket_size_type bucket_size_type
Definition: XalanDOMStringPool.hpp:49
Definition: XalanDOMString.hpp:63

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo