summaryrefslogtreecommitdiff
path: root/src/lib/ratio.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-06-01 01:39:04 +0200
committerCarl Hetherington <cth@carlh.net>2025-06-17 00:04:03 +0200
commitec06811bae7ed4fc6bd80c3154fd473028ee8e13 (patch)
treeb398119a1a84d261ee16b57171652fd8714d657a /src/lib/ratio.h
parent21e9bd77598f7bb4588ca9b16a58667e3340f6d9 (diff)
Pass Ratio around as an object rather than a pointer.
Diffstat (limited to 'src/lib/ratio.h')
-rw-r--r--src/lib/ratio.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/lib/ratio.h b/src/lib/ratio.h
index d4580827b..e6b939eb4 100644
--- a/src/lib/ratio.h
+++ b/src/lib/ratio.h
@@ -65,13 +65,14 @@ public:
}
static void setup_ratios();
- static Ratio const * from_id(std::string i);
- static Ratio const * from_ratio(float r);
- static Ratio const * nearest_from_ratio(float r);
+ static Ratio from_id(std::string i);
+ static boost::optional<Ratio> from_id_if_exists(std::string i);
+ static boost::optional<Ratio> from_ratio(float r);
+ static Ratio nearest_from_ratio(float r);
- static std::vector<Ratio const *> all();
+ static std::vector<Ratio> all();
- static std::vector<Ratio const *> containers();
+ static std::vector<Ratio> containers();
private:
float _ratio;
@@ -87,4 +88,8 @@ private:
};
+bool operator==(Ratio const& a, Ratio const& b);
+bool operator!=(Ratio const& a, Ratio const& b);
+
+
#endif