# XQilla Simple API Documentation

# StaticType Class Reference

Class that represents the static type of an expression. More...

`#include <StaticType.hpp>`

Inheritance diagram for StaticType:
[legend]

List of all members.

## 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

## Detailed Description

Class that represents the static type of an expression.

## Member Enumeration Documentation

enum StaticType::StaticTypeFlags

Flags that determine what item types are returned from an expression.

Enumerator:

  DOCUMENT_TYPE |
  ELEMENT_TYPE |
  ATTRIBUTE_TYPE |
  TEXT_TYPE |
  PI_TYPE |
  COMMENT_TYPE |
  NAMESPACE_TYPE |
  ANY_SIMPLE_TYPE |
  ANY_URI_TYPE |
  BASE_64_BINARY_TYPE |
  BOOLEAN_TYPE |
  DATE_TYPE |
  DATE_TIME_TYPE |
  DAY_TIME_DURATION_TYPE |
  DECIMAL_TYPE |
  DOUBLE_TYPE |
  DURATION_TYPE |
  FLOAT_TYPE |
  G_DAY_TYPE |
  G_MONTH_TYPE |
  G_MONTH_DAY_TYPE |
  G_YEAR_TYPE |
  G_YEAR_MONTH_TYPE |
  HEX_BINARY_TYPE |
  NOTATION_TYPE |
  QNAME_TYPE |
  STRING_TYPE |
  TIME_TYPE |
  UNTYPED_ATOMIC_TYPE |
  YEAR_MONTH_DURATION_TYPE |
  FUNCTION_TYPE |
  NODE_TYPE |
  NUMERIC_TYPE |
  TIMEZONE_TYPE |
  TYPED_ATOMIC_TYPE |
  ANY_ATOMIC_TYPE |
  ITEM_TYPE |
  EMPTY_TYPE |

enum StaticType::TypeMatchEnum

Enumerator:

  NEVER |
  PROBABLY_NOT |
  MAYBE |
  ALWAYS |

## Constructor & Destructor Documentation

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 | ( |  | ) |

## Member Function Documentation

bool StaticType::containsType | ( | StaticType::StaticTypeFlags | flags | ) | const

bool StaticType::containsType | ( | const StaticType & | type | ) | const

static StaticType StaticType::create | ( | AnyAtomicType::AtomicObjectType | primitiveType | ) | `[static]`

static StaticType StaticType::create | ( | const XMLCh * | uri,
|  | const XMLCh * | name,
|  | const StaticContext * | context,
|  | bool & | isExact |
| ) |  |  | `[static]`

unsigned int StaticType::getMax | ( |  | ) | const`[inline]`

unsigned int StaticType::getMaxArgs | ( |  | ) | const`[inline]`

unsigned int StaticType::getMin | ( |  | ) | const`[inline]`

unsigned int StaticType::getMinArgs | ( |  | ) | const`[inline]`

const StaticType* StaticType::getReturnType | ( |  | ) | const`[inline]`

bool StaticType::isType | ( | const StaticType & | type | ) | const

TypeMatch StaticType::matches | ( | const StaticType & | actual | ) | const

StaticType& StaticType::multiply | ( | unsigned int | min,
|  | unsigned int | max |
| ) |  |  |

StaticType StaticType::operator& | ( | const StaticType & | st | ) | const

StaticType& StaticType::operator&= | ( | const StaticType & | st | ) |

StaticType& StaticType::operator= | ( | const StaticType & | o | ) |

StaticType StaticType::operator| | ( | const StaticType & | st | ) | const

StaticType& StaticType::operator|= | ( | const StaticType & | st | ) |

void StaticType::setCardinality | ( | unsigned int | min,
|  | unsigned int | max |
| ) |  |  |

StaticType& StaticType::substitute | ( | const StaticType & | from,
|  | const StaticType & | to |
| ) |  |  |

void StaticType::typeConcat | ( | const StaticType & | st | ) |

void StaticType::typeExcept | ( | const StaticType & | st | ) |

void StaticType::typeIntersect | ( | const StaticType & | st | ) |

void StaticType::typeNodeIntersect | ( | const StaticType & | st | ) |

void StaticType::typeToBuf | ( | xercesc::XMLBuffer & | buf | ) | const

void StaticType::typeUnion | ( | const StaticType & | st | ) |

## Member Data Documentation

const unsigned int StaticType::UNLIMITED `[static]`

The documentation for this class was generated from the following file:

- StaticType.hpp