# StaticResolutionContext Class Reference

Records access to various parts of the context during static resolution. More...

`#include <StaticResolutionContext.hpp>`

List of all members.

## Public Types

enum | Properties { DOCORDER = 0x001, PEER = 0x002, SUBTREE = 0x004, GROUPED = 0x008, SAMEDOC = 0x010, ONENODE = 0x020, SELF = 0x040, FORWARDREF = 0x080, UNDEFINEDVAR = 0x100 }
| Properties that allow optimisation regarding sorting or not. More...

## Public Member Functions

| StaticResolutionContext (XPath2MemoryManager *memMgr)
| StaticResolutionContext (const StaticResolutionContext &o, XPath2MemoryManager *memMgr)
void | copy (const StaticResolutionContext &o)
void | clear ()
| Clears all the information in this StaticResolutionContext.
void | forceNoFolding (bool value)
| Overrides all the other flags, and never allows this sub-expression to be constant folded.
bool | isNoFoldingForced () const
void | contextItemUsed (bool value)
void | contextPositionUsed (bool value)
void | contextSizeUsed (bool value)
bool | isContextItemUsed () const
bool | isContextPositionUsed () const
bool | isContextSizeUsed () const
bool | areContextFlagsUsed () const
| Returns true if any of the context item flags have been used.
void | currentTimeUsed (bool value)
void | implicitTimezoneUsed (bool value)
bool | areContextTimeUsed () const
void | availableDocumentsUsed (bool value)
void | availableCollectionsUsed (bool value)
bool | areDocsOrCollectionsUsed () const
void | variableUsed (const XMLCh *namespaceURI, const XMLCh *name)
bool | removeVariable (const XMLCh *namespaceURI, const XMLCh *name)
bool | isVariableUsed (const XMLCh *namespaceURI, const XMLCh *name) const
std::vector< std::pair< const XMLCh *, const XMLCh * > > | variablesUsed () const
void | add (const StaticResolutionContext &o)
| Sets the members of this StaticResolutionContext from the given StaticResolutionContext.
void | addExceptContextFlags (const StaticResolutionContext &o)
bool | isUsed () const
| Returns true if flags are set, or variables have been used.
bool | isUsedExceptContextFlags () const
void | creative (bool value)
bool | isCreative () const
unsigned int | getProperties () const
void | setProperties (unsigned int props)
const StaticType & | getStaticType () const
StaticType & | getStaticType ()
std::string | toString () const

## Detailed Description

Records access to various parts of the context during static resolution.

## Member Enumeration Documentation

enum StaticResolutionContext::Properties

Properties that allow optimisation regarding sorting or not.

The values are OR'd as flags, so they must be distinct bits

Enumerator:

  DOCORDER | Results are returned in document order.
  PEER | Results do not appear in the descendants of other results.
  SUBTREE | Results are members of the set of descendants of the context node.
  GROUPED | Results are grouped by the document they come from.
  SAMEDOC | Results are from the same document as the context node.
  ONENODE | Only ever returns one node.
  SELF | Only ever returns the context node.
  FORWARDREF | This is a forward reference for a global variable that is declared later.
  UNDEFINEDVAR | This is a variable that has been undefined.

## Constructor & Destructor Documentation

StaticResolutionContext::StaticResolutionContext | ( | XPath2MemoryManager * | memMgr | ) |

StaticResolutionContext::StaticResolutionContext | ( | const StaticResolutionContext & | o,
|  | XPath2MemoryManager * | memMgr
| ) |

## Member Function Documentation

void StaticResolutionContext::add | ( | const StaticResolutionContext & | o | ) |

| Sets the members of this StaticResolutionContext from the given StaticResolutionContext.

void StaticResolutionContext::addExceptContextFlags | ( | const StaticResolutionContext & | o | ) |

bool StaticResolutionContext::areContextFlagsUsed | ( |  | ) | const

| Returns true if any of the context item flags have been used.

bool StaticResolutionContext::areContextTimeUsed | ( |  | ) | const

bool StaticResolutionContext::areDocsOrCollectionsUsed | ( |  | ) | const

void StaticResolutionContext::availableCollectionsUsed | ( | bool | value | ) |

void StaticResolutionContext::availableDocumentsUsed | ( | bool | value | ) |

void StaticResolutionContext::clear | ( |  | ) |

| Clears all the information in this StaticResolutionContext.

void StaticResolutionContext::contextItemUsed | ( | bool | value | ) |

void StaticResolutionContext::contextPositionUsed | ( | bool | value | ) |

void StaticResolutionContext::contextSizeUsed | ( | bool | value | ) |

void StaticResolutionContext::copy | ( | const StaticResolutionContext & | o | ) |

void StaticResolutionContext::creative | ( | bool | value | ) |

void StaticResolutionContext::currentTimeUsed | ( | bool | value | ) |

void StaticResolutionContext::forceNoFolding | ( | bool | value | ) |

| Overrides all the other flags, and never allows this sub-expression to be constant folded.

unsigned int StaticResolutionContext::getProperties | ( |  | ) | const

StaticType& StaticResolutionContext::getStaticType | ( |  | ) |

const StaticType& StaticResolutionContext::getStaticType | ( |  | ) | const

void StaticResolutionContext::implicitTimezoneUsed | ( | bool | value | ) |

bool StaticResolutionContext::isContextItemUsed | ( |  | ) | const

bool StaticResolutionContext::isContextPositionUsed | ( |  | ) | const

bool StaticResolutionContext::isContextSizeUsed | ( |  | ) | const

bool StaticResolutionContext::isCreative | ( |  | ) | const

bool StaticResolutionContext::isNoFoldingForced | ( |  | ) | const

bool StaticResolutionContext::isUsed | ( |  | ) | const

| Returns true if flags are set, or variables have been used.

bool StaticResolutionContext::isUsedExceptContextFlags | ( |  | ) | const

bool StaticResolutionContext::isVariableUsed | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | name
| ) | const

bool StaticResolutionContext::removeVariable | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | name
| ) |

void StaticResolutionContext::setProperties | ( | unsigned int | props | ) |

std::string StaticResolutionContext::toString | ( |  | ) | const

std::vector<std::pair<const XMLCh*, const XMLCh*> > StaticResolutionContext::variablesUsed | ( |  | ) | const

void StaticResolutionContext::variableUsed | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | name
| ) |

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

- StaticResolutionContext.hpp