11 for (iter_top(its,i); i.ok(); i++)
14 w.unite(Interval(0,0));
23 PCursor<PCol*> me=pscore_l_->find_col( (PCol*)this);
26 PCursor<PCol*> bot(pscore_l_->cols.top());
37 mtor << "rank: " << rank() << '\n';
39 mtor << "# symbols: " << its.size() ;
41 mtor << "\npre,post: ";
43 postbreak_p_->print();
44 } else if (daddy_l_) {
45 mtor<<'\n' << ((this == daddy_l_->prebreak_p_) ?
46 "prebreak_p_" : "postbreak");
48 mtor << "extent: " << width().str() << "\n";
54 PCol::compare(const PCol &c1, const PCol &c2)
56 PScore*ps_l = c1.pscore_l_;
57 PCursor<PCol*> ac(ps_l->find_col(&c1));
58 PCursor<PCol*> bc(ps_l->find_col(&c2));
59 assert(ac.ok() && bc.ok());
67 if (prebreak_p_ || postbreak_p_ ) {
68 assert(prebreak_p_&&postbreak_p_);
69 assert(prebreak_p_->daddy_l_ == this);
70 assert(postbreak_p_->daddy_l_ == this);
81 prebreak_p_ = new PCol(this);
82 postbreak_p_ = new PCol(this);
83 prebreak_p_->pscore_l_ = pscore_l_;
84 postbreak_p_->pscore_l_ = pscore_l_;
88 PCol::breakable() const
90 return prebreak_p_||postbreak_p_;
93 PCol::PCol(PCol *parent)
119 return breakable() || its.size();