diff options
author | John Wiegley <johnw@newartisans.com> | 2010-02-04 19:47:49 -0500 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2010-02-05 00:00:38 -0500 |
commit | 6870c54644ba41fe360d43d27885ded46beac7c5 (patch) | |
tree | d40ddf017c4364b258c08eccc3ea53b5355eddb0 /src | |
parent | 9d61d3d621606f0158a048628c866a692465d886 (diff) | |
download | fork-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.cc | 3 | ||||
-rw-r--r-- | src/commodity.cc | 4 | ||||
-rw-r--r-- | src/commodity.h | 8 | ||||
-rw-r--r-- | src/value.cc | 2 |
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; |