diff options
Diffstat (limited to 'src/value.cc')
-rw-r--r-- | src/value.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/value.cc b/src/value.cc index 550ce8c7..8f9b3937 100644 --- a/src/value.cc +++ b/src/value.cc @@ -1409,4 +1409,25 @@ bool value_t::valid() const return true; } +bool value_is_less_than(const std::list<sort_value_t>& left_values, + const std::list<sort_value_t>& right_values) +{ + std::list<sort_value_t>::const_iterator left_iter = left_values.begin(); + std::list<sort_value_t>::const_iterator right_iter = right_values.begin(); + + while (left_iter != left_values.end() && + right_iter != right_values.end()) { + if ((*left_iter).value < (*right_iter).value) + return ! (*left_iter).inverted; + else if ((*left_iter).value > (*right_iter).value) + return (*left_iter).inverted; + left_iter++; right_iter++; + } + + assert(left_iter == left_values.end()); + assert(right_iter == right_values.end()); + + return true; +} + } // namespace ledger |