summaryrefslogtreecommitdiff
path: root/src/generic/problemresolver/tier_operation.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/generic/problemresolver/tier_operation.cc')
-rw-r--r--src/generic/problemresolver/tier_operation.cc29
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;
+}