dom_node_list.h
1 /*
2 ** ClanLib SDK
3 ** Copyright (c) 1997-2013 The ClanLib Team
4 **
5 ** This software is provided 'as-is', without any express or implied
6 ** warranty. In no event will the authors be held liable for any damages
7 ** arising from the use of this software.
8 **
9 ** Permission is granted to anyone to use this software for any purpose,
10 ** including commercial applications, and to alter it and redistribute it
11 ** freely, subject to the following restrictions:
12 **
13 ** 1. The origin of this software must not be misrepresented; you must not
14 ** claim that you wrote the original software. If you use this software
15 ** in a product, an acknowledgment in the product documentation would be
16 ** appreciated but is not required.
17 ** 2. Altered source versions must be plainly marked as such, and must not be
18 ** misrepresented as being the original software.
19 ** 3. This notice may not be removed or altered from any source distribution.
20 **
21 ** Note: Some of the libraries ClanLib may link to may have additional
22 ** requirements or restrictions.
23 **
24 ** File Author(s):
25 **
26 ** Magnus Norddahl
27 ** Ingo Ruhnke
28 */
29 
30 
31 #pragma once
32 
33 #include "../api_core.h"
34 #include <memory>
35 #include "dom_string.h"
36 #include <vector>
37 
38 namespace clan
39 {
42 
43 class DomNode;
44 class DomNodeList_Impl;
45 class DomDocument;
46 
51 class CL_API_CORE DomNodeList
52 {
55 
56 public:
58  DomNodeList();
59 
64  DomNodeList(DomNode &node, const DomString &tag_name);
65 
67  DomNode &node,
68  const DomString &namespace_uri,
69  const DomString &name,
70  bool local_name = false);
71 
72  ~DomNodeList();
73 
77 
78 public:
80  int get_length() const;
81 
85 
86 public:
88 
89  DomNode item(unsigned long index) const;
90 
92  void add_item(DomNode &to_add);
93 
97 
98 private:
100  std::vector<DomNode> node_list;
102 };
103 
104 }
105 
DOM Node List class.
Definition: dom_node_list.h:51
std::string DomString
Definition: dom_string.h:37
DOM Node class.
Definition: dom_node.h:71