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