Main Page
Namespaces
Classes
Files
Examples
File List
File Members
include
xqilla
items
ATBooleanOrDerived.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2001, 2008,
3
* DecisionSoft Limited. All rights reserved.
4
* Copyright (c) 2004, 2011,
5
* Oracle and/or its affiliates. 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
20
#ifndef _ATBOOLEANORDERIVED_HPP
21
#define _ATBOOLEANORDERIVED_HPP
22
23
#include <xercesc/util/XercesDefs.hpp>
24
#include <
xqilla/items/AnyAtomicType.hpp
>
25
26
#include <xqilla/framework/XQillaExport.hpp>
27
28
class
XPath2MemoryManager
;
29
30
struct
XQILLA_API
BoolResult
31
{
32
static
const
BoolResult
True
;
33
static
const
BoolResult
False
;
34
static
const
BoolResult
Null
;
35
36
inline
BoolResult
(
bool
b) : value(b ? BOOL_TRUE : BOOL_FALSE) {}
37
inline
operator
bool()
const
{
return
value == BOOL_TRUE; }
38
inline
bool
operator==
(
BoolResult
o)
const
{
return
value == o.value; }
39
inline
bool
operator!=
(
BoolResult
o)
const
{
return
value != o.value; }
40
41
private
:
42
inline
BoolResult
() : value(BOOL_NULL) {}
43
enum
{
44
BOOL_NULL,
45
BOOL_FALSE,
46
BOOL_TRUE
47
} value;
48
};
49
50
class
XQILLA_API
ATBooleanOrDerived
:
public
AnyAtomicType
51
{
52
public
:
53
typedef
RefCountPointer<const ATBooleanOrDerived>
Ptr
;
54
55
/* Get the name of the primitive type (basic type) of this type
56
* (ie "decimal" for xs:decimal) */
57
virtual
const
XMLCh*
getPrimitiveTypeName
()
const
= 0;
58
59
/* Get the namespace URI for this type */
60
virtual
const
XMLCh*
getTypeURI
()
const
= 0;
61
62
/* Get the name of this type (ie "integer" for xs:integer) */
63
virtual
const
XMLCh*
getTypeName
()
const
= 0;
64
65
/* returns the XMLCh* (canonical) representation of this type */
66
virtual
const
XMLCh*
asString
(
const
DynamicContext
* context)
const
= 0;
67
68
/* returns true if the two objects have the same boolean value
69
* false otherwise */
70
virtual
bool
equals
(
const
AnyAtomicType::Ptr
&target,
const
DynamicContext
* context)
const
= 0;
71
74
virtual
int
compare(
const
ATBooleanOrDerived::Ptr
&other,
const
DynamicContext
*context)
const
= 0;
75
76
/* returns true if boolean value evaluates to true
77
* false otherwise */
78
virtual
bool
isTrue()
const
= 0;
79
80
/* returns false if boolean value evaluates to true
81
* true otherwise */
82
virtual
bool
isFalse()
const
= 0;
83
84
virtual
AnyAtomicType::AtomicObjectType
getPrimitiveTypeIndex
()
const
= 0;
85
};
86
87
#endif
Generated by
1.8.4