}
/**
+ * SECTION: Bag
+ */
+namespace
+{
+
+pp::LinearDocument describe(const coco::Bag *bag)
+{
+ pp::LinearDocument doc;
+
+ doc.append("addr: ", bag);
+ doc.append("size: ", bag->size());
+ // TODO Print Read
+ // TODO Print Update
+ // TODO Print Dep
+ return doc;
+}
+
+} // namespace
+
+DEBUGGING_API_P(enco_dump_all_bags, coco::Module, m)
+{
+ for (uint32_t n = 0; n < m->entity()->bag()->size(); ++n)
+ {
+ auto bag = m->entity()->bag()->at(n);
+ assert(bag != nullptr);
+
+ auto set = [bag](pp::LinearDocument &doc) { doc.append(describe(bag)); };
+ auto desc = section("bag").build(set);
+
+ std::cout << desc << std::endl;
+ }
+}
+
+/**
* SECTION: Op
*/
namespace
void NAME(long);
/**
+ * Print the details of all the allocated coco::Bag in coco::Module
+ *
+ * (gdb) call enco_dump_all_bags(bag)
+ * (gdb) call enco_dump_all_bags(0x...)
+ */
+DEBUGGING_API_P(enco_dump_all_bags, coco::Module);
+
+/**
* Print the details of coco::Op
*
* (gdb) call enco_dump_op(op)