diff options
Diffstat (limited to 'src/layers.hpp')
-rw-r--r-- | src/layers.hpp | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/src/layers.hpp b/src/layers.hpp index 7b35c63..9dd2036 100644 --- a/src/layers.hpp +++ b/src/layers.hpp @@ -5,8 +5,6 @@ #ifndef TMCAGLWM_LAYERS_H #define TMCAGLWM_LAYERS_H -#include <algorithm> -#include <experimental/optional> #include <json.hpp> #include <set> #include <string> @@ -28,27 +26,14 @@ struct surface_id_to_layer { } }; -inline bool operator<(struct surface_id_to_layer const &a, int b) { - return a.id_max < b; -} - +// Actually, we shouldn't need a struct here ... but let's just keep it at that for now, +// to contain its mapping type and the _single_ useful method. struct surface_id_to_layer_map { - typedef std::set<struct surface_id_to_layer> map_type; - - map_type mapping; + typedef std::set<struct surface_id_to_layer> surface_to_layer_map_type; - std::experimental::optional<int> get_layer_for_surface(int surface_id) { - auto i = std::lower_bound(std::cbegin(this->mapping), - std::cend(this->mapping), surface_id); + surface_to_layer_map_type mapping; - if (i != this->mapping.end()) { - if (i->id_min <= surface_id) { - return std::experimental::optional<int>(i->layer_id); - } - } - - return std::experimental::nullopt; - } + optional<int> get_layer_for_surface(int surface_id); }; struct result<struct surface_id_to_layer_map> to_surface_id_to_layer_map( |