00001 #ifndef _CGI_ELEMENTLIST_H 00002 #define _CGI_ELEMENTLIST_H 00003 00004 #include <list> 00005 #include "Element.h" 00006 00007 namespace Cgi 00008 { 00009 00010 typedef std::list<Element *> element_v; 00011 00012 class RefCount; 00013 00014 class ElementList : public Element 00015 { 00016 public: 00017 ElementList(const std::string& tag); 00018 ElementList(const ElementList& ); 00019 ~ElementList(); 00020 00021 std::string ToString() const; 00022 00023 void Add(Element& el); 00024 00025 std::string GetElements() const; 00026 00027 private: 00028 RefCount *m_ref_count; 00029 element_v m_elements; 00030 }; 00031 00032 00033 } // namespace Cgi 00034 00035 00036 #endif // _CGI_ELEMENTLIST_H