+/** Add or replace a print method. */
+template <class Alg, class Ctx, class T, class C>
+extern void set_print_func(void f(const T &, const C & c, unsigned))
+{
+ Alg::get_class_info_static().options.set_print_func(Ctx::get_class_info_static().options.get_id(), f);
+}
+
+/** Add or replace a print method. */
+template <class Alg, class Ctx, class T, class C>
+extern void set_print_func(void (T::*f)(const C &, unsigned))
+{
+ Alg::get_class_info_static().options.set_print_func(Ctx::get_class_info_static().options.get_id(), f);
+}
+
+