00001 #ifndef _xpathoproot_h 00002 #define _xpathoproot_h 00003 00004 #include <spl/RefCountPtrCast.h> 00005 #include <spl/xml/xpath/private/XPathOperator.h> 00006 00007 class XPathOpRoot; 00008 typedef RefCountPtrCast<XPathOpRoot, XPathOperator, XPathOperatorPtr> XPathOpRootPtr; 00009 00012 class XPathOpRoot : public XPathOperator 00013 { 00014 public: 00015 XPathOpRoot(); 00016 XPathOpRoot(const XPathOpRoot& op); 00017 virtual ~XPathOpRoot(); 00018 00019 XPathOpRoot& operator =(const XPathOpRoot& oproot); 00020 00021 virtual bool IsMatch(XmlNode& context); 00022 virtual XmlNodeListPtr NextContext(XmlNodePtr context); 00023 00024 #if defined(DEBUG) || defined(_DEBUG) 00025 void CheckMem() const; 00026 void ValidateMem() const; 00027 #endif 00028 }; 00029 00030 #endif