Class that represents the static type of an expression. More...
#include <StaticType.hpp>
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.
Flags that determine what item types are returned from an expression.
StaticType::StaticType | ( | ) |
Constructor for an empty type.
Referenced by containsType(), create(), create(), getReturnType(), isType(), matches(), multiply(), operator&(), operator&=(), operator=(), operator|(), operator|=(), StaticType(), StaticType(), StaticType(), substitute(), typeConcat(), typeExcept(), typeIntersect(), typeNodeIntersect(), typeToBuf(), and typeUnion().
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.
References StaticType().
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.
References StaticType().
StaticType::StaticType | ( | const StaticType & | o | ) |
References StaticType().
StaticType::~StaticType | ( | ) |
bool StaticType::containsType | ( | const StaticType & | type | ) | const |
References StaticType().
bool StaticType::containsType | ( | StaticType::StaticTypeFlags | flags | ) | const |
|
static |
References StaticType().
|
static |
References StaticType().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References StaticType().
bool StaticType::isType | ( | const StaticType & | type | ) | const |
References StaticType().
TypeMatch StaticType::matches | ( | const StaticType & | actual | ) | const |
References StaticType().
StaticType & StaticType::multiply | ( | unsigned int | min, |
unsigned int | max ) |
References StaticType().
StaticType StaticType::operator& | ( | const StaticType & | st | ) | const |
References StaticType().
StaticType & StaticType::operator&= | ( | const StaticType & | st | ) |
References StaticType().
StaticType & StaticType::operator= | ( | const StaticType & | o | ) |
References StaticType().
StaticType StaticType::operator| | ( | const StaticType & | st | ) | const |
References StaticType().
StaticType & StaticType::operator|= | ( | const StaticType & | st | ) |
References StaticType().
void StaticType::setCardinality | ( | unsigned int | min, |
unsigned int | max ) |
StaticType & StaticType::substitute | ( | const StaticType & | from, |
const StaticType & | to ) |
References StaticType().
void StaticType::typeConcat | ( | const StaticType & | st | ) |
References StaticType().
void StaticType::typeExcept | ( | const StaticType & | st | ) |
References StaticType().
void StaticType::typeIntersect | ( | const StaticType & | st | ) |
References StaticType().
void StaticType::typeNodeIntersect | ( | const StaticType & | st | ) |
References StaticType().
void StaticType::typeToBuf | ( | xercesc::XMLBuffer & | buf | ) | const |
References StaticType().
void StaticType::typeUnion | ( | const StaticType & | st | ) |
References StaticType().
|
static |