summaryrefslogtreecommitdiffstats
path: root/src/selection.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/selection.h')
-rw-r--r--src/selection.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/selection.h b/src/selection.h
index 2d5e7c34a..e40810ded 100644
--- a/src/selection.h
+++ b/src/selection.h
@@ -16,14 +16,10 @@
#include <vector>
#include <map>
#include <list>
+#include <set>
#include <stddef.h>
#include <sigc++/sigc++.h>
-#include <boost/multi_index_container.hpp>
-#include <boost/multi_index/ordered_index.hpp>
-#include <boost/multi_index/identity.hpp>
-#include <boost/multi_index/member.hpp>
-
#include "gc-managed.h"
#include "gc-finalized.h"
#include "gc-anchored.h"
@@ -254,7 +250,7 @@ public:
XML::Node *singleRepr();
/** Returns the list of selected objects. */
- std::list<SPObject*> const &list();
+ std::vector<SPObject*> const &list();
/** Returns the list of selected SPItems. */
std::vector<SPItem*> const &itemList();
/** Returns a list of the xml nodes of all selected objects. */
@@ -376,7 +372,9 @@ private:
/** Releases an active layer object that is being removed. */
void _releaseContext(SPObject *obj);
- mutable std::list<SPObject*> _objs;
+ mutable std::list<SPObject*> _objs; //to more efficiently remove arbitrary elements
+ mutable std::vector<SPObject*> _objs_vector; // to be returned by list();
+ mutable std::set<SPObject*> _objs_set; //to efficiently test if object is selected
mutable std::vector<XML::Node*> _reprs;
mutable std::vector<SPItem*> _items;