aboutsummaryrefslogtreecommitdiff
path: root/boot/symbol.cc
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-10-07 17:33:40 +0200
committerEugen Wissner <belka@caraus.de>2026-10-07 17:45:20 +0200
commit12e304fd56f054ba7296ab538eecd4280a67832a (patch)
tree218f37dc04fa14323d2ca7704e47a830dcd98b22 /boot/symbol.cc
parentf547dae96d770cc7bc27d3790d0d87bb8e37963d (diff)
downloadelna-12e304fd56f054ba7296ab538eecd4280a67832a.tar.gz
Allow assigning contants to enumeration members
Diffstat (limited to 'boot/symbol.cc')
-rw-r--r--boot/symbol.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/boot/symbol.cc b/boot/symbol.cc
index fa423e0..375cbfd 100644
--- a/boot/symbol.cc
+++ b/boot/symbol.cc
@@ -273,11 +273,22 @@ namespace elna::boot
{
}
- enumeration_type::enumeration_type(const std::vector<std::string>& members)
- : members(members)
+ enumeration_type::enumeration_type(const std::vector<std::string>& members,
+ const std::vector<std::ptrdiff_t>& values)
+ : members(members), values(values)
{
}
+ std::ptrdiff_t enumeration_type::minimum() const
+ {
+ return *std::ranges::min_element(this->values);
+ }
+
+ std::ptrdiff_t enumeration_type::maximum() const
+ {
+ return *std::ranges::max_element(this->values);
+ }
+
parameter_type::parameter_type(const std::string& name)
: name(name)
{