26 #ifndef MLN_MORPHO_ATTRIBUTE_CARD_HH
27 # define MLN_MORPHO_ATTRIBUTE_CARD_HH
37 # include <mln/accu/internal/base.hh>
38 # include <mln/util/pix.hh>
49 template <
typename I>
class card;
60 struct accumulator_< morpho::attribute::card<I> >
62 typedef accumulator::has_untake::no has_untake;
63 typedef accumulator::has_set_value::no has_set_value;
64 typedef accumulator::has_stop::no has_stop;
65 typedef accumulator::when_pix::use_none when_pix;
80 class card :
public mln::accu::internal::base< unsigned, card<I> >
82 typedef mln::accu::internal::base< unsigned, card<I> > super_;
85 typedef mln_psite(I) argument;
94 void take(
const argument& s);
116 # ifndef MLN_INCLUDE_ONLY
118 template <
typename I>
125 template <
typename I>
135 template <
typename I>
143 template <
typename I>
146 card<I>::take(
const argument&)
151 template <
typename I>
159 template <
typename I>
162 card<I>::take(
const card<I>& other)
169 template <
typename I>
172 card<I>::take_as_init()
178 template <
typename I>
181 card<I>::take_as_init_(
const util::pix<I>&)
183 this->take_as_init();
186 template <
typename I>
194 template <
typename I>
202 # endif // ! MLN_INCLUDE_ONLY
211 #endif // ! MLN_MORPHO_ATTRIBUTE_CARD_HH