- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

VSDShapeList.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* libvisio
3 * Version: MPL 1.1 / GPLv2+ / LGPLv2+
4 *
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License or as specified alternatively below. You may obtain a copy of
8 * the License at http://www.mozilla.org/MPL/
9 *
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
13 * License.
14 *
15 * Major Contributor(s):
16 * Copyright (C) 2011 Fridrich Strba <fridrich.strba@bluewin.ch>
17 * Copyright (C) 2011 Eilidh McAdam <tibbylickle@gmail.com>
18 *
19 *
20 * All Rights Reserved.
21 *
22 * For minor contributions see the git repository.
23 *
24 * Alternatively, the contents of this file may be used under the terms of
25 * either the GNU General Public License Version 2 or later (the "GPLv2+"), or
26 * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
27 * in which case the provisions of the GPLv2+ or the LGPLv2+ are applicable
28 * instead of those above.
29 */
30
31 #ifndef __VSDSHAPELIST_H__
32 #define __VSDSHAPELIST_H__
33
34 #include <vector>
35 #include <map>
36
37 namespace libvisio
38 {
39
40 class VSDShapeList
41 {
42 public:
43 VSDShapeList();
44 ~VSDShapeList();
45 VSDShapeList(const VSDShapeList &shapeList);
46 VSDShapeList &operator=(const VSDShapeList &shapeList);
47 void addShapeId(unsigned id, unsigned shapeId);
48 void addShapeId(unsigned shapeId);
49 void setElementsOrder(const std::vector<unsigned> &elementsOrder);
50 void clear();
51 bool empty() const
52 {
53 return (m_elements.empty());
54 }
55 const std::vector<unsigned> &getShapesOrder();
56 private:
57 std::map<unsigned, unsigned> m_elements;
58 std::vector<unsigned> m_elementsOrder;
59 std::vector<unsigned> m_shapesOrder;
60 };
61
62 } // namespace libvisio
63
64 #endif // __VSDSHAPELIST_H__
65 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libvisio::VSDShapeList::getShapesOrder
const std::vector< unsigned > & getShapesOrder()
Definition: VSDShapeList.cpp:81
libvisio::VSDShapeList::empty
bool empty() const
Definition: VSDShapeList.h:51
libvisio::VSDShapeList::m_elements
std::map< unsigned, unsigned > m_elements
Definition: VSDShapeList.h:57
libvisio::VSDShapeList::addShapeId
void addShapeId(unsigned id, unsigned shapeId)
Definition: VSDShapeList.cpp:65
libvisio::VSDShapeList::~VSDShapeList
~VSDShapeList()
Definition: VSDShapeList.cpp:60
libvisio::VSDShapeList::VSDShapeList
VSDShapeList()
Definition: VSDShapeList.cpp:35
libvisio::VSDShapeList::setElementsOrder
void setElementsOrder(const std::vector< unsigned > &elementsOrder)
Definition: VSDShapeList.cpp:76
libvisio::VSDShapeList::clear
void clear()
Definition: VSDShapeList.cpp:109
libvisio::VSDShapeList::m_shapesOrder
std::vector< unsigned > m_shapesOrder
Definition: VSDShapeList.h:59
libvisio::VSDShapeList
Definition: VSDShapeList.h:40
libvisio::VSDShapeList::operator=
VSDShapeList & operator=(const VSDShapeList &shapeList)
Definition: VSDShapeList.cpp:49
libvisio::VSDShapeList::m_elementsOrder
std::vector< unsigned > m_elementsOrder
Definition: VSDShapeList.h:58