#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: CDATASection() : Text() { } explicit CDATASection(CDATASection_impl* impl) : Text(impl) { } CDATASection(const CDATASection& rhs) : Text(rhs) { } explicit CDATASection(const Node& rhs) : Text(rhs, 0) { if(rhs.getNodeType() != Node_base::CDATA_SECTION_NODE) //throw std::runtime_error("bad_cast: Cannot convert Node to CDATA section"); throw std::bad_cast(); } // 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