Main Page
Namespaces
Classes
Files
Examples
File List
File Members
include
xqilla
items
FunctionRef.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2001, 2008,
3
* DecisionSoft Limited. All rights reserved.
4
* Copyright (c) 2004, 2018 Oracle and/or its affiliates. All rights reserved.
5
*
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
20
#ifndef _XQILLAFUNCTIONREF_HPP
21
#define _XQILLAFUNCTIONREF_HPP
22
23
#include <vector>
24
25
#include <
xqilla/items/Item.hpp
>
26
#include <
xqilla/items/ATQNameOrDerived.hpp
>
27
#include <
xqilla/runtime/Result.hpp
>
28
29
class
DynamicContext
;
30
class
LocationInfo
;
31
class
FunctionSignature;
32
33
typedef
std::vector<Result>
VectorOfResults
;
34
35
class
XQILLA_API
FunctionRef
:
public
Item
36
{
37
public
:
38
typedef
RefCountPointer<const FunctionRef>
Ptr
;
39
40
virtual
bool
isNode
()
const
{
return
false
; }
41
virtual
bool
isAtomicValue
()
const
{
return
false
; }
42
virtual
bool
isFunction
()
const
{
return
true
; }
43
44
virtual
const
XMLCh *
getTypeURI
()
const
{
return
0; }
45
virtual
const
XMLCh *
getTypeName
()
const
{
return
0; }
46
47
virtual
ATQNameOrDerived::Ptr
getName(
const
DynamicContext
*context)
const
= 0;
48
virtual
size_t
getNumArgs()
const
= 0;
49
virtual
const
FunctionSignature *getSignature()
const
= 0;
50
virtual
Result
execute(
const
VectorOfResults
&args,
DynamicContext
*context,
const
LocationInfo
*location)
const
= 0;
51
virtual
FunctionRef::Ptr
partialApply(
const
Result
&arg,
unsigned
int
argNum,
DynamicContext
*context,
const
LocationInfo
*location)
const
= 0;
52
53
protected
:
54
FunctionRef
() {}
55
};
56
#endif
FunctionRef::isNode
virtual bool isNode() const
Definition:
FunctionRef.hpp:40
FunctionRef::FunctionRef
FunctionRef()
Definition:
FunctionRef.hpp:54
RefCountPointer
Super class of all the reference counted wrappers for Items.
Definition:
ReferenceCounted.hpp:61
Result.hpp
FunctionRef::getTypeName
virtual const XMLCh * getTypeName() const
Definition:
FunctionRef.hpp:45
FunctionRef
Definition:
FunctionRef.hpp:35
Result
A scoped pointer wrapper for the lazily evaluated query result.
Definition:
Result.hpp:37
VectorOfResults
std::vector< Result > VectorOfResults
Definition:
FunctionRef.hpp:31
FunctionRef::isAtomicValue
virtual bool isAtomicValue() const
Definition:
FunctionRef.hpp:41
FunctionRef::isFunction
virtual bool isFunction() const
Definition:
FunctionRef.hpp:42
Item
Definition:
Item.hpp:36
Item.hpp
DynamicContext
The execution time dynamic context interface.
Definition:
DynamicContext.hpp:38
LocationInfo
A class that gives records a location in the query.
Definition:
LocationInfo.hpp:29
FunctionRef::Ptr
RefCountPointer< const FunctionRef > Ptr
Definition:
FunctionRef.hpp:38
ATQNameOrDerived.hpp
FunctionRef::getTypeURI
virtual const XMLCh * getTypeURI() const
Definition:
FunctionRef.hpp:44
Generated by
1.8.5