]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/arrangement.h
Convert all list containers to vectors
[libs/gltk.git] / source / arrangement.h
index 164a091c6a9032bdb3078d54e928e3ceee480483..26e28a6f10f4967b45b480a8bd76005e84672f22 100644 (file)
@@ -1,8 +1,9 @@
 #ifndef MSP_GLTK_ARRANGEMENT_H_
 #define MSP_GLTK_ARRANGEMENT_H_
 
-#include <list>
 #include <stdexcept>
+#include <vector>
+#include <msp/core/noncopyable.h>
 #include "layout.h"
 #include "mspgltk_api.h"
 
@@ -15,10 +16,9 @@ class MSPGLTK_API arrangement_error: public std::logic_error
 {
 public:
        arrangement_error(const std::string &w): std::logic_error(w) { }
-       virtual ~arrangement_error() throw() { }
 };
 
-class MSPGLTK_API Arrangement
+class MSPGLTK_API Arrangement: public NonCopyable
 {
 protected:
        enum Side
@@ -31,7 +31,7 @@ protected:
 
        struct Edge
        {
-               std::list<Widget *> widgets;
+               std::vector<Widget *> widgets;
                bool aligned = false;
 
                bool empty() { return widgets.empty(); }
@@ -41,7 +41,7 @@ protected:
        };
 
        Layout &layout;
-       Arrangement *parent = 0;
+       Arrangement *parent = nullptr;
        Edge edges[4];
 
        Arrangement(Layout &);