#include <StaticType.hpp>
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 |
Classes | |
struct | TypeMatch |
Flags that determine what item types are returned from an expression.
StaticType::StaticType | ( | ) |
Constructor for an empty type.
StaticType::StaticType | ( | StaticTypeFlags | f, | |
unsigned int | min = 1 , |
|||
unsigned int | max = 1 | |||
) |
StaticType::StaticType | ( | XPath2MemoryManager * | mm, | |
unsigned int | numArgs, | |||
const StaticType & | returnType, | |||
unsigned int | min = 1 , |
|||
unsigned int | max = 1 | |||
) |
Constructor for a function type.
StaticType::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::StaticType | ( | const StaticType & | o | ) |
StaticType::~StaticType | ( | ) |
StaticType& StaticType::operator= | ( | const StaticType & | o | ) |
static StaticType StaticType::create | ( | const XMLCh * | uri, | |
const XMLCh * | name, | |||
const StaticContext * | context, | |||
bool & | isExact | |||
) | [static] |
static StaticType StaticType::create | ( | AnyAtomicType::AtomicObjectType | primitiveType | ) | [static] |
void StaticType::typeUnion | ( | const StaticType & | st | ) |
void StaticType::typeIntersect | ( | const StaticType & | st | ) |
void StaticType::typeExcept | ( | const StaticType & | st | ) |
void StaticType::typeConcat | ( | const StaticType & | st | ) |
void StaticType::typeNodeIntersect | ( | const StaticType & | st | ) |
StaticType StaticType::operator| | ( | const StaticType & | st | ) | const |
StaticType& StaticType::operator|= | ( | const StaticType & | st | ) |
StaticType StaticType::operator & | ( | const StaticType & | st | ) | const |
StaticType& StaticType::operator &= | ( | const StaticType & | st | ) |
StaticType& StaticType::substitute | ( | const StaticType & | from, | |
const StaticType & | to | |||
) |
StaticType& StaticType::multiply | ( | unsigned int | min, | |
unsigned int | max | |||
) |
void StaticType::setCardinality | ( | unsigned int | min, | |
unsigned int | max | |||
) |
bool StaticType::containsType | ( | const StaticType & | type | ) | const |
bool StaticType::containsType | ( | StaticType::StaticTypeFlags | flags | ) | const |
bool StaticType::isType | ( | const StaticType & | type | ) | const |
TypeMatch StaticType::matches | ( | const StaticType & | actual | ) | const |
unsigned int StaticType::getMin | ( | ) | const [inline] |
unsigned int StaticType::getMax | ( | ) | const [inline] |
unsigned int StaticType::getMinArgs | ( | ) | const [inline] |
unsigned int StaticType::getMaxArgs | ( | ) | const [inline] |
const StaticType* StaticType::getReturnType | ( | ) | const [inline] |
void StaticType::typeToBuf | ( | xercesc::XMLBuffer & | buf | ) | const |
const unsigned int StaticType::UNLIMITED [static] |