26 #ifndef MLN_TRAIT_ACCUMULATOR_PRINT_HH
27 # define MLN_TRAIT_ACCUMULATOR_PRINT_HH
34 # include <mln/trait/accumulators.hh>
35 # include <mln/metal/is_a.hh>
43 template <
typename E>
struct Accumulator;
53 void print(std::ostream& ostr = std::cout);
56 void print(
const Accumulator<A>& ima, std::ostream& ostr = std::cout);
59 # ifndef MLN_INCLUDE_ONLY
63 void print(std::ostream& ostr)
65 mlc_is_a(A, Accumulator)::check();
66 typedef mln::trait::accumulator_<A> the;
68 <<
typename the::has_untake().name() <<
", "
69 <<
typename the::has_stop().name() <<
", "
70 <<
typename the::has_set_value().name() <<
", "
71 <<
typename the::when_pix().name() <<
" }" << std::endl;
76 void print(
const Accumulator<A>&, std::ostream& ostr)
81 # endif // ! MLN_INCLUDE_ONLY
90 #endif // ! MLN_TRAIT_ACCUMULATOR_PRINT_HH