Xalan-C++ API Reference
1.12.0
xalanc
XalanSourceTree
XalanSourceTreeElementNANSAllocator.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
19
#if !defined(XALANSOURCETREEELEMENTNANSALLOCATOR_INCLUDE_GUARD_12455133)
20
#define XALANSOURCETREEELEMENTNANSALLOCATOR_INCLUDE_GUARD_12455133
21
22
23
24
#include <
xalanc/XalanSourceTree/XalanSourceTreeDefinitions.hpp
>
25
26
27
28
#include <
xalanc/PlatformSupport/ArenaAllocator.hpp
>
29
30
31
32
#include <
xalanc/XalanSourceTree/XalanSourceTreeElementNANS.hpp
>
33
34
35
36
namespace
XALAN_CPP_NAMESPACE
{
37
38
39
40
class
XALAN_XALANSOURCETREE_EXPORT
XalanSourceTreeElementNANSAllocator
41
{
42
public
:
43
44
typedef
XalanSourceTreeElementNANS
ObjectType
;
45
46
typedef
ObjectType::IndexType
IndexType
;
47
48
#if defined(XALAN_NO_DEFAULT_TEMPLATE_ARGUMENTS)
49
typedef
ArenaBlock<ObjectType>
ArenaBlockType;
50
51
typedef
ArenaAllocator
<
ObjectType
,
52
ArenaBlockType>
ArenaAllocatorType
;
53
#else
54
typedef
ArenaAllocator<ObjectType>
ArenaAllocatorType
;
55
#endif
56
57
typedef
ArenaAllocatorType::size_type
size_type
;
58
59
/**
60
* Construct an instance that will allocate blocks of the specified size.
61
*
62
* @param theBlockSize The block size.
63
*/
64
XalanSourceTreeElementNANSAllocator
(
65
MemoryManager& theManager,
66
size_type
theBlockCount);
67
68
~
XalanSourceTreeElementNANSAllocator
();
69
70
/**
71
* Create an instance.
72
*
73
* @param theTagName The tag name of the element
74
* @param theLocalName The local name of the attribute
75
* @param theNamespaceURI The namespace URI of the attribute
76
* @param thePrefix The namespace prefix of the attribute
77
* @param theOwnerDocument The document that owns the instance
78
* @param theAttributes An array of pointers to the attribute instances for the element
79
* @param theAttributeCount The number of attributes.
80
* @param theParentNode The parent node, if any.
81
* @param thePreviousSibling The previous sibling, if any.
82
* @param theNextSibling The next sibling, if any.
83
* @param theIndex The document-order index of the node.
84
*
85
* @return pointer to the instance
86
*/
87
ObjectType
*
88
create(
89
const
XalanDOMString
& theTagName,
90
const
XalanDOMString
& theLocalName,
91
const
XalanDOMString
& theNamespaceURI,
92
const
XalanDOMString
& thePrefix,
93
XalanSourceTreeDocument
* theOwnerDocument,
94
XalanNode
* theParentNode = 0,
95
XalanNode
* thePreviousSibling = 0,
96
XalanNode
* theNextSibling = 0,
97
IndexType
theIndex = 0);
98
99
/**
100
* Delete all objects from allocator.
101
*/
102
void
103
reset();
104
105
/**
106
* Get size of an ArenaBlock, that is, the number
107
* of objects in each block.
108
*
109
* @return The size of the block
110
*/
111
size_type
112
getBlockCount
()
const
113
{
114
return
m_allocator.getBlockCount();
115
}
116
117
/**
118
* Get the number of ArenaBlocks currently allocated.
119
*
120
* @return The number of blocks.
121
*/
122
size_type
123
getBlockSize
()
const
124
{
125
return
m_allocator.getBlockSize();
126
}
127
128
private
:
129
130
// Not implemented...
131
XalanSourceTreeElementNANSAllocator
(
const
XalanSourceTreeElementNANSAllocator
&);
132
133
XalanSourceTreeElementNANSAllocator
&
134
operator=(
const
XalanSourceTreeElementNANSAllocator
&);
135
136
// Data members...
137
ArenaAllocatorType m_allocator;
138
};
139
140
141
142
}
143
144
145
146
#endif // XALANSOURCETREEELEMENTANSALLOCATOR_INCLUDE_GUARD_12455133
xalanc::ArenaAllocator< ObjectType >::size_type
ArenaBlock< ObjectType > ::size_type size_type
Definition:
ArenaAllocator.hpp:55
XALAN_CPP_NAMESPACE
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Definition:
XalanVersion.hpp:76
xalanc::XalanNode
Definition:
XalanNode.hpp:38
xalanc::XalanSourceTreeElementNANSAllocator::ObjectType
XalanSourceTreeElementNANS ObjectType
Definition:
XalanSourceTreeElementNANSAllocator.hpp:44
xalanc::XalanSourceTreeElementNANSAllocator::getBlockCount
size_type getBlockCount() const
Get size of an ArenaBlock, that is, the number of objects in each block.
Definition:
XalanSourceTreeElementNANSAllocator.hpp:112
xalanc::size_type
size_t size_type
Definition:
XalanMap.hpp:46
XalanSourceTreeElementNANS.hpp
xalanc::XalanSourceTreeElementNANSAllocator
Definition:
XalanSourceTreeElementNANSAllocator.hpp:40
xalanc::ArenaBlock< ObjectType >
xalanc::XalanNode::IndexType
unsigned long IndexType
Definition:
XalanNode.hpp:64
xalanc::ArenaAllocator
Definition:
ArenaAllocator.hpp:47
ArenaAllocator.hpp
xalanc::XalanSourceTreeElementNANSAllocator::getBlockSize
size_type getBlockSize() const
Get the number of ArenaBlocks currently allocated.
Definition:
XalanSourceTreeElementNANSAllocator.hpp:123
XalanSourceTreeDefinitions.hpp
xalanc::XalanSourceTreeElementNANSAllocator::size_type
ArenaAllocatorType::size_type size_type
Definition:
XalanSourceTreeElementNANSAllocator.hpp:57
xalanc::XalanSourceTreeElementNANSAllocator::ArenaAllocatorType
ArenaAllocator< ObjectType > ArenaAllocatorType
Definition:
XalanSourceTreeElementNANSAllocator.hpp:54
XALAN_XALANSOURCETREE_EXPORT
#define XALAN_XALANSOURCETREE_EXPORT
Definition:
XalanSourceTreeDefinitions.hpp:35
xalanc::XalanDOMString
Definition:
XalanDOMString.hpp:45
xalanc::XalanSourceTreeDocument
Definition:
XalanSourceTreeDocument.hpp:78
xalanc::XalanSourceTreeElementNANS
Definition:
XalanSourceTreeElementNANS.hpp:35
xalanc::XalanSourceTreeElementNANSAllocator::IndexType
ObjectType::IndexType IndexType
Definition:
XalanSourceTreeElementNANSAllocator.hpp:46
Copyright © 1999-2020 The Apache Software Foundation. All Rights Reserved.
Generated on Sun May 31 2020 10:37:18 for Xalan-C++ API Reference by
1.8.17