#ifndef JEZUK_DOM_CDATASECTION_H #define JEZUK_DOM_CDATASECTION_H //////////////////////////// // C++ DOM definition // // $Id$ //////////////////////////// #include namespace Arabica { namespace DOM { template class CDATASection_impl; template > class CDATASection : public Text { typedef Text TextT; public: typedef Node NodeT; CDATASection() : Text() { } explicit CDATASection(CDATASection_impl* impl) : Text(impl) { } CDATASection(const CDATASection& rhs) : Text(rhs) { } explicit CDATASection(const Node& rhs) : Text(rhs, 0) { if(NodeT::impl_ == 0) // null nodes can always be cast return; if(rhs.getNodeType() != Node_base::CDATA_SECTION_NODE) throw DOMBadCast("CDATASection"); } // CDATASection CDATASection splitText(int offset) { TextT::tImpl()->throwIfReadOnly(); return static_cast >(TextT::tImpl()->splitText(offset)); } // splitText }; // class CDATASection //////////////////////////////////////////////////////////////////// template class CDATASection_impl : public virtual Text_impl { public: virtual ~CDATASection_impl() { } }; // CDATASection_impl } // namespace DOM } // namespace Arabica #endif