Fission FSN
Loading...
Searching...
No Matches
fsIXmlNode.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 10/4/2012 11:25
4*
5* File: fsIXmlNode.h
6*
7* Author: Martin P King
8*
9* Purpose: Interface to an xml node - kicked out from
10* fsIXmlParser;
11*
12*********************************************************************/
13
14#ifndef fsIXmlNodehdr
15#define fsIXmlNodehdr
16
17#include "../../fsBaseTypes.h"
18#include "../../fsStr.h"
19#include "fsIXmlAttribute.h"
20
21class fsIXmlNode;
22#include <memory>
23typedef std::shared_ptr<fsIXmlNode> fsIXmlNodeRef;
24
25
27{
28public:
29
30 virtual fsStr nameGet() const = 0;
31 virtual fsStr valueGet() const = 0;
32
33 class _iter;
34
35 typedef std::shared_ptr<_iter> _iterRef;
36
37 class _iter
38 {
39 public:
40 // would prefer overloading operator!=() & operator()++ but we use smart pointers to handle
41 // different implementations of the interface which ends making a real mess as they overload them
42 // and other operators.
43 virtual void next() = 0;
44 virtual fsBool notEqual(const _iterRef& pRHS) const = 0;
45
47
48 virtual ~_iter()
49 {
50 }
51 };
52
55
56 virtual _iterRef begin() = 0;
57 virtual _iterRef end() = 0;
58
59 virtual ~fsIXmlNode()
60 {
61 }
62
63protected:
64
66 {
67 }
68
69private:
70};
71
72#endif
std::shared_ptr< _iter > _iterRef
Definition fsIXmlAttribute.h:32
Definition fsIXmlNode.h:38
virtual void next()=0
virtual fsBool notEqual(const _iterRef &pRHS) const =0
virtual fsIXmlNodeRef operator->()=0
virtual ~_iter()
Definition fsIXmlNode.h:48
Definition fsIXmlNode.h:27
virtual fsIXmlAttribute::_iterRef attEnd()=0
virtual _iterRef begin()=0
std::shared_ptr< _iter > _iterRef
Definition fsIXmlNode.h:35
virtual fsStr nameGet() const =0
virtual fsIXmlAttribute::_iterRef attBegin()=0
virtual _iterRef end()=0
virtual fsStr valueGet() const =0
virtual ~fsIXmlNode()
Definition fsIXmlNode.h:59
fsIXmlNode()
Definition fsIXmlNode.h:65
Definition fsStr.h:23
std::shared_ptr< fsIXmlNode > fsIXmlNodeRef
Definition fsIXmlNode.h:23
bool fsBool
Definition fsBaseTypes.h:26