HTMLElementList.h
Go to the documentation of this file.
1/* -*-mode:c++; c-file-style: "gnu";-*- */
2/*
3 * $Id: HTMLElementList.h,v 1.9 2014/04/23 20:55:06 sebdiaz Exp $
4 *
5 * Copyright (C) 1996 - 2004 Stephen F. Booth <sbooth@gnu.org>
6 * 2007 Sebastien DIAZ <sebastien.diaz@gmail.com>
7 * Part of the GNU cgicc library, http://www.gnu.org/software/cgicc
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 3 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
22 */
23
24#ifndef _HTMLELEMENTLIST_H_
25#define _HTMLELEMENTLIST_H_ 1
26
27#ifdef __GNUG__
28# pragma interface
29#endif
30
36
37#include <string>
38#include <vector>
39
40#include "CgiDefs.h"
41#include "MStreamable.h"
42#include "HTMLAttribute.h"
43#include "HTMLElement.h"
44
45namespace cgicc {
46
47 // ============================================================
48 // Class HTMLElementList
49 // ============================================================
50
51#ifdef WIN32
52 template class CGICC_API std::vector<HTMLElement*>;
53#endif
54
67 class CGICC_API HTMLElementList
68 {
69 public:
70
71 // ============================================================
72
75
82
90
98
106
107 // ============================================================
108
111
120 operator= (const HTMLElementList& list);
122
123 // ============================================================
124
129
137 add(const HTMLElement& element);
138
146 add(HTMLElement *element);
148
151
157 void
158 render(std::ostream& out) const;
160
161 private:
162 std::vector<HTMLElement*> fElements;
163 // elements must be stored as pointers, otherwise polymorphism doesn't work
164 };
165
166} // namespace cgicc
167
168#endif /* ! _HTMLELEMENTLIST_H_ */
Platform and operating system specific macro definitions.
Class dealing with HTML element attributes.
Class dealing with HTML elements.
Abstract base class for all streamable objects.
HTMLElementList & add(HTMLElement *element)
Add an HTMLElement to the list.
HTMLElementList(const HTMLElementList &list)
Copy constructor.
~HTMLElementList()
Destructor.
HTMLElementList()
Create an empty HTMLElementList.
HTMLElementList & add(const HTMLElement &element)
Add an HTMLElement to the list.
void render(std::ostream &out) const
Render this HTMLElementList.
HTMLElementList(const HTMLElement &head)
Create a new HTMLElementList, specifying the first element.
Class representing an HTML element.
Definition HTMLElement.h:61
The namespace containing the cgicc library.
Definition Cgicc.h:52

GNU cgicc - A C++ class library for writing CGI applications
Copyright © 1996 - 2004 Stephen F. Booth
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front Cover Texts, and with no Back-Cover Texts.
Documentation generated Tue Sep 18 2018 00:00:00 for cgicc by doxygen 1.13.2