Public Types | Public Member Functions | List of all members
zorba::ExternalFunction Class Referenceabstract

The ExternalFunction class serves as the base of subclasses that represent the implementation/body of external functions. More...

#include <zorba/function.h>

Inheritance diagram for zorba::ExternalFunction:
Inheritance graph
[legend]

Public Types

typedef std::vector
< ItemSequence * > 
Arguments_t
 

Public Member Functions

virtual String getLocalName () const =0
 
virtual String getURI () const =0
 
virtual bool isContextual () const =0
 
virtual ~ExternalFunction ()
 

Detailed Description

The ExternalFunction class serves as the base of subclasses that represent the implementation/body of external functions.

Instances of ExternalFunction must provide an evaluate method that serves as the implementation of the function. During its evaluation, an external function may or may not need to access the static and/or dynamic context of the invoking XQuery module. If the function implementation does need to access either context, the function is referred to as "contextual"; otherwise, it is "non-contextual".

Examples:
external_functions.cpp.

Definition at line 148 of file function.h.

Member Typedef Documentation

Definition at line 151 of file function.h.

Constructor & Destructor Documentation

virtual zorba::ExternalFunction::~ExternalFunction ( )
inlinevirtual

Definition at line 154 of file function.h.

Member Function Documentation

virtual String zorba::ExternalFunction::getLocalName ( ) const
pure virtual
Returns
The local name of the function QName
virtual String zorba::ExternalFunction::getURI ( ) const
pure virtual
Returns
The namespace URI of the function QName
virtual bool zorba::ExternalFunction::isContextual ( ) const
pure virtual
Returns
True if the external function is contextual; false otherwise.

Implemented in zorba::ContextualExternalFunction, and zorba::NonContextualExternalFunction.


The documentation for this class was generated from the following file:
blog comments powered by Disqus