RVNGPropertyListVector.h Source File documentation

RVNGPropertyListVector.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2/* librevenge
3 * Version: MPL 2.0 / LGPLv2.1+
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * Major Contributor(s):
10 * Copyright (C) 2005 William Lachance (wrlach@gmail.com)
11 * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch)
12 *
13 * For minor contributions see the git repository.
14 *
15 * Alternatively, the contents of this file may be used under the terms
16 * of the GNU Lesser General Public License Version 2.1 or later
17 * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
18 * applicable instead of those above.
19 */
20
21#ifndef RVNGPROPERTYLISTVECTOR_H
22#define RVNGPROPERTYLISTVECTOR_H
23
24#include "librevenge-api.h"
25
26#include "RVNGPropertyList.h"
27
28namespace librevenge
29{
30
31class RVNGPropertyListVectorImpl;
32class RVNGPropertyListVectorIterImpl;
33
34 class REVENGE_API RVNGPropertyListVector : public RVNGProperty
35{
36public:
37 RVNGPropertyListVector(const RVNGPropertyListVector &);
38 RVNGPropertyListVector();
39 virtual ~RVNGPropertyListVector();
40
41 // RVNGProperty methods
42 int getInt() const;
43 double getDouble() const;
44 RVNGUnit getUnit() const;
45 RVNGString getStr() const;
46 RVNGProperty *clone() const;
47
48 void append(const RVNGPropertyList &elem);
49 void append(const RVNGPropertyListVector &vec);
50 unsigned long count() const;
51 bool empty() const;
52 void clear();
53 const RVNGPropertyList &operator[](unsigned long index) const;
54 RVNGPropertyListVector &operator=(const RVNGPropertyListVector &vect);
55
56 RVNGString getPropString() const;
57
58 class REVENGE_API Iter
59 {
60 public:
61 Iter(const RVNGPropertyListVector &vect);
62 virtual ~Iter();
63 void rewind();
64 bool next();
65 bool last();
66 const RVNGPropertyList &operator()() const;
67
68 private:
69 RVNGPropertyListVectorIterImpl *m_iterImpl;
70 Iter(const Iter &);
71 Iter &operator=(const Iter &);
72 };
73
74 friend class RVNGPropertyListVector::Iter;
75
76private:
77 RVNGPropertyListVectorImpl *m_impl;
78};
79
80}
81
82#endif /* RVNGPROPERTYLISTVECTOR_H */
83/* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
RVNGPropertyList.h
librevenge::RVNGPropertyListVectorImpl
Definition: RVNGPropertyListVector.cpp:29
librevenge::RVNGPropertyListVectorIterImpl
Definition: RVNGPropertyListVector.cpp:57
librevenge::RVNGPropertyListVector::Iter
Definition: RVNGPropertyListVector.h:59
librevenge::RVNGPropertyListVector::Iter::Iter
Iter(const Iter &)
librevenge::RVNGPropertyListVector::Iter::m_iterImpl
RVNGPropertyListVectorIterImpl * m_iterImpl
Definition: RVNGPropertyListVector.h:69
librevenge::RVNGPropertyListVector::Iter::operator=
Iter & operator=(const Iter &)
librevenge::RVNGPropertyListVector
Definition: RVNGPropertyListVector.h:35
librevenge::RVNGPropertyListVector::m_impl
RVNGPropertyListVectorImpl * m_impl
Definition: RVNGPropertyListVector.h:77
librevenge::RVNGPropertyList
Definition: RVNGPropertyList.h:39
librevenge::RVNGProperty
Definition: RVNGProperty.h:33
librevenge::RVNGString
UTF-8 string.
Definition: RVNGString.h:34
librevenge-api.h
REVENGE_API
#define REVENGE_API
Definition: librevenge-api.h:34
librevenge
Definition: RVNGBinaryData.cpp:40
librevenge::RVNGUnit
RVNGUnit
Definition: RVNGProperty.h:30