diff options
Diffstat (limited to 'src/generic/problemresolver/tier_operation.cc')
-rw-r--r-- | src/generic/problemresolver/tier_operation.cc | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/generic/problemresolver/tier_operation.cc b/src/generic/problemresolver/tier_operation.cc index 4b619ccf..786c2a9a 100644 --- a/src/generic/problemresolver/tier_operation.cc +++ b/src/generic/problemresolver/tier_operation.cc @@ -20,6 +20,8 @@ #include "tier_operation.h" +#include <ostream> + tier tier_operation::levelwise_maximum(const tier &t1, const tier &t2) { const int out_structural_level = @@ -123,3 +125,30 @@ tier tier_operation::apply(const tier &t) const const tier increased = levelwise_maximum(t, increase_levels); return levelwise_add(t, add_levels); } + +void tier_operation::dump(std::ostream &out) const +{ + out << "("; + + bool first = true; + + if(increase_levels != tier()) + { + out << "increase: " << increase_levels; + first = false; + } + + if(add_levels != tier(0)) + { + if(first) + out << ", "; + out << "add: " << add_levels; + } +} + +std::ostream &operator<<(std::ostream &out, const tier_operation &t) +{ + t.dump(out); + + return out; +} |