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" : "postbreak");
49 mtor << "extent: " << width().str() << "\n";
55 PCol::compare(const PCol &c1, const PCol &c2)
57 PScore*ps_l = c1.pscore_l_;
58 PCursor<PCol*> ac(ps_l->find_col(&c1));
59 PCursor<PCol*> bc(ps_l->find_col(&c2));
60 assert(ac.ok() && bc.ok());
68 if (prebreak_p_ || postbreak_p_ ) {
69 assert(prebreak_p_&&postbreak_p_);
70 assert(prebreak_p_->daddy_l_ == this);
71 assert(postbreak_p_->daddy_l_ == this);
82 prebreak_p_ = new PCol(this);
83 postbreak_p_ = new PCol(this);
84 prebreak_p_->pscore_l_ = pscore_l_;
85 postbreak_p_->pscore_l_ = pscore_l_;
89 PCol::breakable() const
91 return prebreak_p_||postbreak_p_;
94 PCol::PCol(PCol *parent)
120 return breakable() || its.size();