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)

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