Fission FSN
Loading...
Searching...
No Matches
fsCXmlNode.h
Go to the documentation of this file.
1/********************************************************************
2*
3* Created: 10/4/2012 11:28
4*
5* File: fsCXmlNode.h
6*
7* Author: Mick Waites
8*
9* Purpose: Nintendo 3DS xml node
10*
11*********************************************************************/
12
13#ifndef fsCXmlNodehdr
14#define fsCXmlNodehdr
15
16#include "fsCXml.h"
17#include "fsIXmlNode.h"
18#include "fsCXmlAttribute.h"
19
20
21class fsCXmlNode : public fsIXmlNode
22{
23 friend class fsCXmlParser;
24
25public:
26
27 fsStr nameGet() const override;
28 fsStr valueGet() const override;
29
32
33 _iterRef begin() override;
34 _iterRef end() override;
35
36 class _iterImpl : public _iter
37 {
39
40 public:
41 void next() override
42 {
43 // if( mImpl != fsXmlNode::_Iterator() )
44 {
45 ++mImpl;
46 }
47 }
48
49 fsBool notEqual(const _iterRef& pRHS) const override
50 {
51 return (mImpl != static_cast<_iterImpl*>(pRHS.get())->mImpl);
52 }
53
54 fsIXmlNodeRef operator->() override { return fsIXmlNodeRef(new fsCXmlNode(*mImpl)); }
55
56 _iterImpl(fsXmlNode::_Iterator pImpl) : mImpl(pImpl)
57 {
58 }
59 };
60
61 virtual ~fsCXmlNode()
62 {
63 }
64
65protected:
66 fsCXmlNode(fsXmlNode* pImpl) : mImpl(pImpl)
67 {
68 }
69
70private:
71
72 fsXmlNode* mImpl;
73};
74
75#endif
_iterImpl(fsXmlNode::_Iterator pImpl)
Definition fsCXmlNode.h:56
void next() override
Definition fsCXmlNode.h:41
fsBool notEqual(const _iterRef &pRHS) const override
Definition fsCXmlNode.h:49
fsIXmlNodeRef operator->() override
Definition fsCXmlNode.h:54
_iterRef end() override
Definition fsCXmlNode.cpp:20
fsIXmlAttribute::_iterRef attEnd() override
Definition fsCXmlNode.cpp:30
fsStr valueGet() const override
Definition fsCXmlNode.cpp:9
virtual ~fsCXmlNode()
Definition fsCXmlNode.h:61
fsStr nameGet() const override
Definition fsCXmlNode.cpp:3
friend class fsCXmlParser
Definition fsCXmlNode.h:23
fsIXmlAttribute::_iterRef attBegin() override
Definition fsCXmlNode.cpp:25
fsCXmlNode(fsXmlNode *pImpl)
Definition fsCXmlNode.h:66
_iterRef begin() override
Definition fsCXmlNode.cpp:15
std::shared_ptr< _iter > _iterRef
Definition fsIXmlAttribute.h:32
Definition fsIXmlNode.h:38
std::shared_ptr< _iter > _iterRef
Definition fsIXmlNode.h:35
fsIXmlNode()
Definition fsIXmlNode.h:65
Definition fsStr.h:23
std::shared_ptr< fsIXmlNode > fsIXmlNodeRef
Definition fsIXmlNode.h:23
bool fsBool
Definition fsBaseTypes.h:26
Definition fsCXml.h:134
std::list< fsXmlNode * >::iterator _Iterator
Definition fsCXml.h:136