Main Page
Namespaces
Classes
Files
Examples
File List
File Members
include
xqilla
runtime
Sequence.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2001-2008
3
* DecisionSoft Limited. All rights reserved.
4
* Copyright (c) 2004-2008
5
* Oracle. All rights reserved.
6
*
7
* Licensed under the Apache License, Version 2.0 (the "License");
8
* you may not use this file except in compliance with the License.
9
* You may obtain a copy of the License at
10
*
11
* http://www.apache.org/licenses/LICENSE-2.0
12
*
13
* Unless required by applicable law or agreed to in writing, software
14
* distributed under the License is distributed on an "AS IS" BASIS,
15
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
* See the License for the specific language governing permissions and
17
* limitations under the License.
18
*
19
* $Id$
20
*/
21
22
#ifndef _SEQUENCE_HPP
23
#define _SEQUENCE_HPP
24
25
#include <vector>
26
27
#include <xqilla/framework/XQillaExport.hpp>
28
#include <
xqilla/items/ATDecimalOrDerived.hpp
>
29
#include <
xqilla/framework/XPath2MemoryManager.hpp
>
30
31
#include <
xercesc/util/XMemory.hpp
>
32
#include <
xercesc/util/PlatformUtils.hpp
>
33
34
class
DynamicContext
;
35
36
typedef
std::vector<Item::Ptr, XQillaAllocator<Item::Ptr> >
VectorOfItems
;
37
41
class
XQILLA_API
Sequence
:
public
XERCES_CPP_NAMESPACE_QUALIFIER XMemory
42
{
43
44
public
:
45
typedef
VectorOfItems::iterator
iterator
;
46
typedef
VectorOfItems::const_iterator
const_iterator
;
47
typedef
VectorOfItems::reverse_iterator
reverse_iterator
;
48
typedef
VectorOfItems::const_reverse_iterator
const_reverse_iterator
;
49
50
// constructor that takes one Item
51
Sequence
(
const
Item::Ptr
&item, XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* memMgr =
52
XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager);
53
// constructor that creates a empty sequence
54
Sequence
(XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* memMgr =
55
XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager);
57
Sequence
(
size_t
n, XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* memMgr =
58
XERCES_CPP_NAMESPACE_QUALIFIER XMLPlatformUtils::fgMemoryManager);
59
// copy constructor
60
Sequence
(
const
Sequence
&, XERCES_CPP_NAMESPACE_QUALIFIER MemoryManager* memMgr);
61
// copy constructor
62
Sequence
(
const
Sequence
&);
63
Sequence
&operator=(
const
Sequence
&);
64
65
~
Sequence
();
66
67
void
clear();
68
69
const
Item::Ptr
&first()
const
;
70
const
Item::Ptr
&second()
const
;
71
73
Sequence::iterator
begin(
void
);
74
Sequence::const_iterator
begin(
void
)
const
;
75
77
Sequence::iterator
end(
void
);
78
Sequence::const_iterator
end(
void
)
const
;
79
81
Sequence::reverse_iterator
rbegin(
void
);
82
Sequence::const_reverse_iterator
rbegin(
void
)
const
;
83
84
Sequence::reverse_iterator
rend(
void
);
85
Sequence::const_reverse_iterator
rend(
void
)
const
;
86
88
size_t
getLength(
void
)
const
;
89
91
const
Item::Ptr
&item(
size_t
index)
const
;
93
const
Item::Ptr
&item(
const
ATDecimalOrDerived::Ptr
&index)
const
;
94
96
void
addItem(
const
Item::Ptr
&item);
97
99
void
addItemFront(
const
Item::Ptr
&item);
100
102
void
joinSequence(
const
Sequence
& s);
103
105
bool
isEmpty()
const
;
106
108
void
sortIntoDocumentOrder(
const
DynamicContext
*context);
109
111
void
sortWithCollation(
const
Collation
*collation,
const
DynamicContext
*context);
112
113
private
:
114
VectorOfItems
_itemList;
115
};
116
117
#endif
ATDecimalOrDerived.hpp
RefCountPointer< const Item >
Sequence::iterator
VectorOfItems::iterator iterator
Definition:
Sequence.hpp:45
XPath2MemoryManager.hpp
Collation
Definition:
Collation.hpp:31
PlatformUtils.hpp
VectorOfItems
std::vector< Item::Ptr, XQillaAllocator< Item::Ptr > > VectorOfItems
Definition:
Sequence.hpp:34
Sequence::reverse_iterator
VectorOfItems::reverse_iterator reverse_iterator
Definition:
Sequence.hpp:47
Sequence::const_iterator
VectorOfItems::const_iterator const_iterator
Definition:
Sequence.hpp:46
DynamicContext
The execution time dynamic context interface.
Definition:
DynamicContext.hpp:39
Sequence::const_reverse_iterator
VectorOfItems::const_reverse_iterator const_reverse_iterator
Definition:
Sequence.hpp:48
Sequence
An eagerly evaluated result of a query execution.
Definition:
Sequence.hpp:41
XMemory.hpp
Generated by
1.8.5