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 
28 namespace librevenge
29 {
30 
31 class RVNGPropertyListVectorImpl;
32 class RVNGPropertyListVectorIterImpl;
33 
35 {
36 public:
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 
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:
70  Iter(const Iter &);
71  Iter &operator=(const Iter &);
72  };
73 
75 
76 private:
78 };
79 
80 }
81 
82 #endif /* RVNGPROPERTYLISTVECTOR_H */
83 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
RVNGUnit
Definition: RVNGProperty.h:30
Definition: RVNGPropertyListVector.h:58
Definition: RVNGPropertyListVector.cpp:56
Definition: RVNGPropertyListVector.cpp:28
RVNGPropertyListVectorImpl * m_impl
Definition: RVNGPropertyListVector.h:77
Definition: RVNGProperty.h:32
Definition: RVNGPropertyListVector.h:34
#define REVENGE_API
Definition: librevenge-api.h:34
Definition: RVNGPropertyList.h:38
UTF-8 string.
Definition: RVNGString.h:33
RVNGPropertyListVectorIterImpl * m_iterImpl
Definition: RVNGPropertyListVector.h:69

Generated for librevenge by doxygen 1.8.7