00001 #ifndef _xpathopchildtree_h 00002 #define _xpathopchildtree_h 00003 00004 #include <spl/RefCountPtrCast.h> 00005 #include <spl/xml/xpath/private/XPathOperator.h> 00006 00007 class XPathOpChildTree; 00008 typedef RefCountPtrCast<XPathOpChildTree, XPathOperator, XPathOperatorPtr> XPathOpChildTreePtr; 00009 00012 class XPathOpChildTree : public XPathOperator 00013 { 00014 public: 00015 XPathOpChildTree(); 00016 XPathOpChildTree(const XPathOpChildTree& op); 00017 virtual ~XPathOpChildTree(); 00018 00019 XPathOpChildTree& operator =(const XPathOpChildTree& 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 00031 #endif