]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/style.cpp
Simplify constructors with C++11
[libs/gltk.git] / source / style.cpp
index eff93fe3c354255b9f53048b54d2022a472f68b1..d1dea041dca0e010dcfa294c9252259c5fea2d60 100644 (file)
@@ -1,3 +1,4 @@
+#include <msp/core/algorithm.h>
 #include "resources.h"
 #include "style.h"
 
@@ -6,12 +7,6 @@ using namespace std;
 namespace Msp {
 namespace GLtk {
 
-Style::Style():
-       font(0),
-       font_size(0),
-       sampler(0)
-{ }
-
 const GL::Font &Style::get_font() const
 {
        if(!font)
@@ -36,11 +31,8 @@ const GL::Sampler &Style::get_sampler() const
 
 const Part *Style::get_part(const string &name) const
 {
-       for(PartSeq::const_iterator i=parts.begin(); i!=parts.end(); ++i)
-               if(i->get_name()==name)
-                       return &*i;
-
-       return 0;
+       auto i = find_if(parts, [&name](const Part &p){ return p.get_name()==name; });
+       return (i!=parts.end() ? &*i : 0);
 }
 
 bool Style::compare_states(State s1, State s2) const
@@ -53,8 +45,8 @@ bool Style::compare_states(State s1, State s2) const
        if(c1.r!=c2.r || c1.g!=c2.g || c1.b!=c2.b)
                return true;
 
-       for(PartSeq::const_iterator i=parts.begin(); i!=parts.end(); ++i)
-               if(i->get_graphic(s1)!=i->get_graphic(s2))
+       for(const Part &p: parts)
+               if(p.get_graphic(s1)!=p.get_graphic(s2))
                        return true;
 
        return false;