diff options
| author | Tim Allen <screwtape@froup.com> | 2022-02-12 21:35:33 +1100 |
|---|---|---|
| committer | Tim Allen <screwtape@froup.com> | 2022-02-12 21:35:33 +1100 |
| commit | d1ea2ffa600fd2a7b14e415b68ceedba3325c5db (patch) | |
| tree | d7247e5b7f9c57f93c748c26e4faa0a38bcbd174 /src | |
| parent | 0b29fcf32ac756dc54ec5c52db63340c9b3692e9 (diff) | |
Make Color::validate_alpha() a constexpr function.
We call it from a constexpr constructor, so it needs to be constexpr itself.
Fixes #4544.
Diffstat (limited to 'src')
| -rw-r--r-- | src/color.cc | 7 | ||||
| -rw-r--r-- | src/color.hh | 7 |
2 files changed, 6 insertions, 8 deletions
diff --git a/src/color.cc b/src/color.cc index b355b9cf..dfe2e955 100644 --- a/src/color.cc +++ b/src/color.cc @@ -34,13 +34,6 @@ bool is_color_name(StringView color) return contains(color_names, color); } -void Color::validate_alpha() -{ - static_assert(RGB == 17); - if (a < RGB) - throw runtime_error("Colors alpha must be > 16"); -} - Color str_to_color(StringView color) { auto it = find_if(color_names, [&](const char* c){ return color == c; }); diff --git a/src/color.hh b/src/color.hh index 943678ed..85babd98 100644 --- a/src/color.hh +++ b/src/color.hh @@ -1,6 +1,7 @@ #ifndef color_hh_INCLUDED #define color_hh_INCLUDED +#include "exception.hh" #include "hash.hh" #include "meta.hh" #include "assert.hh" @@ -55,7 +56,11 @@ struct Color } private: - void validate_alpha(); + constexpr void validate_alpha() { + static_assert(RGB == 17); + if (a < RGB) + throw runtime_error("Colors alpha must be > 16"); + } }; constexpr bool operator==(Color lhs, Color rhs) |
