/* * Copyright (c) 2001, DecisionSoft Limited All rights reserved. * Please see LICENSE.TXT for more information. */ #ifndef _ITEM_HPP #define _ITEM_HPP #include #include // forward declare when we can class XPath2MemoryManager; class DynamicContext; class DynamicContext; class PATHAN_EXPORT Item { public: //Default constructor Item (XPath2MemoryManager* memMgr); XPath2MemoryManager* getMemoryManager() const; virtual bool isNode() const = 0; virtual bool isAtomicValue() const = 0; /** Releases the memory used by this Item */ virtual void release() const = 0; virtual const XMLCh* asString(const DynamicContext* context) const = 0; protected: // copy constructor Item (const Item & other); // assignment operation Item & operator=(const Item & item) ; private: XPath2MemoryManager* _memMgr; }; #endif // _ITEM_HPP