00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _HTMLELEMENTLIST_H_
00023 #define _HTMLELEMENTLIST_H_ 1
00024
00025 #ifdef __GNUG__
00026 # pragma interface
00027 #endif
00028
00035 #include <string>
00036 #include <vector>
00037
00038 #include "cgicc/CgiDefs.h"
00039 #include "cgicc/MStreamable.h"
00040 #include "cgicc/HTMLAttribute.h"
00041 #include "cgicc/HTMLElement.h"
00042
00043 CGICC_BEGIN_NAMESPACE
00044
00045
00046
00047
00048
00049 #ifdef WIN32
00050 template class CGICC_API STDNS vector<HTMLElement*>;
00051 #endif
00052
00065 class CGICC_API HTMLElementList
00066 {
00067 public:
00068
00069
00070
00073
00079 HTMLElementList();
00080
00087 HTMLElementList(const HTMLElement& head);
00088
00095 HTMLElementList(const HTMLElementList& list);
00096
00102 ~HTMLElementList();
00104
00105
00106
00109
00117 HTMLElementList&
00118 operator= (const HTMLElementList& list);
00120
00121
00122
00127
00134 HTMLElementList&
00135 add(const HTMLElement& element);
00136
00143 HTMLElementList&
00144 add(HTMLElement *element);
00146
00149
00155 void
00156 render(STDNS ostream& out) const;
00158
00159 private:
00160 STDNS vector<HTMLElement*> fElements;
00161
00162 };
00163
00164 CGICC_END_NAMESPACE
00165
00166 #endif