Classes |
struct | TypeMatch |
Public Types |
enum | StaticTypeFlags {
DOCUMENT_TYPE = 0x00000001,
ELEMENT_TYPE = 0x00000002,
ATTRIBUTE_TYPE = 0x00000004,
TEXT_TYPE = 0x00000008,
PI_TYPE = 0x00000010,
COMMENT_TYPE = 0x00000020,
NAMESPACE_TYPE = 0x00000040,
ANY_SIMPLE_TYPE = 0x00000080,
ANY_URI_TYPE = 0x00000100,
BASE_64_BINARY_TYPE = 0x00000200,
BOOLEAN_TYPE = 0x00000400,
DATE_TYPE = 0x00000800,
DATE_TIME_TYPE = 0x00001000,
DAY_TIME_DURATION_TYPE = 0x00002000,
DECIMAL_TYPE = 0x00004000,
DOUBLE_TYPE = 0x00008000,
DURATION_TYPE = 0x00010000,
FLOAT_TYPE = 0x00020000,
G_DAY_TYPE = 0x00040000,
G_MONTH_TYPE = 0x00080000,
G_MONTH_DAY_TYPE = 0x00100000,
G_YEAR_TYPE = 0x00200000,
G_YEAR_MONTH_TYPE = 0x00400000,
HEX_BINARY_TYPE = 0x00800000,
NOTATION_TYPE = 0x01000000,
QNAME_TYPE = 0x02000000,
STRING_TYPE = 0x04000000,
TIME_TYPE = 0x08000000,
UNTYPED_ATOMIC_TYPE = 0x10000000,
YEAR_MONTH_DURATION_TYPE = 0x20000000,
FUNCTION_TYPE = 0x40000000,
NODE_TYPE,
NUMERIC_TYPE = (DECIMAL_TYPE | FLOAT_TYPE | DOUBLE_TYPE),
TIMEZONE_TYPE,
TYPED_ATOMIC_TYPE,
ANY_ATOMIC_TYPE = (TYPED_ATOMIC_TYPE | UNTYPED_ATOMIC_TYPE),
ITEM_TYPE = (NODE_TYPE | ANY_ATOMIC_TYPE | FUNCTION_TYPE),
EMPTY_TYPE = 0
} |
| Flags that determine what item types are returned from an expression.
More...
|
enum | TypeMatchEnum { NEVER = 0,
PROBABLY_NOT = 1,
MAYBE = 2,
ALWAYS = 3
} |
Public Member Functions |
| StaticType () |
| Constructor for an empty type.
|
| StaticType (StaticTypeFlags f, unsigned int min=1, unsigned int max=1) |
| StaticType (XPath2MemoryManager *mm, unsigned int numArgs, const StaticType &returnType, unsigned int min=1, unsigned int max=1) |
| Constructor for a function type.
|
| StaticType (XPath2MemoryManager *mm, unsigned int minArgs, unsigned int maxArgs, const StaticType &returnType, unsigned int min=1, unsigned int max=1) |
| Constructor for a function type.
|
| StaticType (const StaticType &o) |
StaticType & | operator= (const StaticType &o) |
| ~StaticType () |
void | typeUnion (const StaticType &st) |
void | typeIntersect (const StaticType &st) |
void | typeExcept (const StaticType &st) |
void | typeConcat (const StaticType &st) |
void | typeNodeIntersect (const StaticType &st) |
StaticType | operator| (const StaticType &st) const |
StaticType & | operator|= (const StaticType &st) |
StaticType | operator& (const StaticType &st) const |
StaticType & | operator&= (const StaticType &st) |
StaticType & | substitute (const StaticType &from, const StaticType &to) |
StaticType & | multiply (unsigned int min, unsigned int max) |
void | setCardinality (unsigned int min, unsigned int max) |
bool | containsType (const StaticType &type) const |
bool | containsType (StaticType::StaticTypeFlags flags) const |
bool | isType (const StaticType &type) const |
TypeMatch | matches (const StaticType &actual) const |
unsigned int | getMin () const |
unsigned int | getMax () const |
unsigned int | getMinArgs () const |
unsigned int | getMaxArgs () const |
const StaticType * | getReturnType () const |
void | typeToBuf (xercesc::XMLBuffer &buf) const |
Static Public Member Functions |
static StaticType | create (const XMLCh *uri, const XMLCh *name, const StaticContext *context, bool &isExact) |
static StaticType | create (AnyAtomicType::AtomicObjectType primitiveType) |
Static Public Attributes |
static const unsigned int | UNLIMITED |
Class that represents the static type of an expression.