summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2010-02-04 19:47:49 -0500
committerJohn Wiegley <johnw@newartisans.com>2010-02-05 00:00:38 -0500
commit6870c54644ba41fe360d43d27885ded46beac7c5 (patch)
treed40ddf017c4364b258c08eccc3ea53b5355eddb0 /src
parent9d61d3d621606f0158a048628c866a692465d886 (diff)
downloadfork-ledger-6870c54644ba41fe360d43d27885ded46beac7c5.tar.gz
fork-ledger-6870c54644ba41fe360d43d27885ded46beac7c5.tar.bz2
fork-ledger-6870c54644ba41fe360d43d27885ded46beac7c5.zip
Refactored some comparison helper classes
Diffstat (limited to 'src')
-rw-r--r--src/balance.cc3
-rw-r--r--src/commodity.cc4
-rw-r--r--src/commodity.h8
-rw-r--r--src/value.cc2
4 files changed, 9 insertions, 8 deletions
diff --git a/src/balance.cc b/src/balance.cc
index 4ff51ffc..4fcc83fa 100644
--- a/src/balance.cc
+++ b/src/balance.cc
@@ -271,7 +271,8 @@ void balance_t::print(std::ostream& out,
if (pair.second)
sorted.push_back(&pair.second);
- std::stable_sort(sorted.begin(), sorted.end(), compare_amount_commodities());
+ std::stable_sort(sorted.begin(), sorted.end(),
+ commodity_t::compare_by_commodity());
foreach (const amount_t * amount, sorted) {
int width;
diff --git a/src/commodity.cc b/src/commodity.cc
index 79ed77fe..24016830 100644
--- a/src/commodity.cc
+++ b/src/commodity.cc
@@ -587,8 +587,8 @@ bool commodity_t::valid() const
return true;
}
-bool compare_amount_commodities::operator()(const amount_t * left,
- const amount_t * right) const
+bool commodity_t::compare_by_commodity::operator()(const amount_t * left,
+ const amount_t * right) const
{
commodity_t& leftcomm(left->commodity());
commodity_t& rightcomm(right->commodity());
diff --git a/src/commodity.h b/src/commodity.h
index 3370f3f2..d2d8af21 100644
--- a/src/commodity.h
+++ b/src/commodity.h
@@ -386,6 +386,10 @@ public:
bool valid() const;
+ struct compare_by_commodity {
+ bool operator()(const amount_t * left, const amount_t * right) const;
+ };
+
#if defined(HAVE_BOOST_SERIALIZATION)
private:
supports_flags<uint_least16_t> temp_flags;
@@ -419,10 +423,6 @@ inline std::ostream& operator<<(std::ostream& out, const commodity_t& comm) {
return out;
}
-struct compare_amount_commodities {
- bool operator()(const amount_t * left, const amount_t * right) const;
-};
-
void to_xml(std::ostream& out, const commodity_t& comm,
bool commodity_details = false);
diff --git a/src/value.cc b/src/value.cc
index cce4c4e8..7d079caf 100644
--- a/src/value.cc
+++ b/src/value.cc
@@ -861,7 +861,7 @@ bool value_t::is_less_than(const value_t& val) const
return as_amount() < val.as_amount();
}
catch (const amount_error&) {
- return compare_amount_commodities()(&as_amount(), &val.as_amount());
+ return commodity_t::compare_by_commodity()(&as_amount(), &val.as_amount());
}
default:
break;