11#ifndef INKSCAPE_UTIL_ENUMS_H
12#define INKSCAPE_UTIL_ENUMS_H
15#include <glibmm/ustring.h>
30 const Glib::ustring
key;
52 for(
unsigned int i = 0; i <
_length; ++i) {
62 for(
unsigned int i = 0; i <
_length; ++i) {
72 for(
unsigned int i = 0; i <
_length; ++i) {
82 for(
unsigned int i = 0; i <
_length; ++i) {
91 for(
unsigned int i = 0; i <
_length; ++i) {
93 return _data[i].label;
99 const Glib::ustring&
get_key(
const E
id)
const
101 for(
unsigned int i = 0; i <
_length; ++i) {
102 if(
_data[i].
id ==
id)
120requires std::is_enum_v<T>
127requires std::is_enum_v<T>
Simplified management of enumerations of svg items with UI labels.
E get_id_from_key(const Glib::ustring &key) const
const unsigned int _length
bool is_valid_id(const E id) const
const EnumData< E > & data(const unsigned int i) const
const EnumData< E > * _data
E get_id_from_label(const Glib::ustring &label) const
bool is_valid_key(const Glib::ustring &key) const
const Glib::ustring & get_label(const E id) const
const Glib::ustring & get_key(const E id) const
EnumDataConverter(const EnumData< E > *cd, const unsigned int length)
Miscellaneous supporting code.
const Glib::ustring empty_string("")
constexpr bool has_flag(T test, T flag)
constexpr bool any_flag(T test)
static cairo_user_data_key_t key
Simplified management of enumerations of svg items with UI labels.
const Glib::ustring label