+int
+compare_position (Grob *const &a, Grob *const &b)
+{
+ return sign (Staff_symbol_referencer::get_position ((Grob *)a)
+ - Staff_symbol_referencer::get_position ((Grob *) b));
+}
+
+bool
+position_less (Grob *const &a, Grob *const &b)
+{
+ return Staff_symbol_referencer::get_position (a)
+ < Staff_symbol_referencer::get_position (b);
+}
+
+ADD_INTERFACE (Staff_symbol_referencer,
+ "An object whose Y position is meant relative to a staff "
+ "symbol. "
+ "These usually have @code{Staff_symbol_referencer::callback} "
+ "in their @code{Y-offset-callbacks}. ",
+
+ /* properties */
+ "staff-position");
+
+