- /**
- clone a piece of this spanner.
- PRE
- c1 >= start, c2 <= stop
- */
- virtual Spanner *do_break_at( PCol *c1, PCol *c2) const=0;
- NAME_MEMBERS(Spanner);
+ virtual Interval_t<int> spanned_rank_iv ();
+ void set_bound (Direction d, Grob *);
+ Item *get_bound (Direction d) const;
+
+ Spanner (SCM);
+ Spanner (Spanner const &);
+ bool is_broken () const;
+ void do_break ();
+ Real spanner_length () const;
+
+ static int compare (Spanner *const &, Spanner *const &);
+ static bool less (Spanner *const &, Spanner *const &);
+ virtual Grob *find_broken_piece (System *) const;
+ virtual void derived_mark () const;
+ DECLARE_GROB_INTERFACE();
+ virtual System *get_system () const;
+
+protected:
+ void set_my_columns ();
+ virtual Grob *clone () const;
+ virtual void do_break_processing ();