26 #ifndef MLN_ACCU_LOGIC_LAND_HH
27 # define MLN_ACCU_LOGIC_LAND_HH
35 # include <mln/core/concept/meta_accumulator.hh>
36 # include <mln/accu/internal/base.hh>
56 struct accumulator_< accu::logic::land >
58 typedef accumulator::has_untake::yes has_untake;
59 typedef accumulator::has_set_value::no has_set_value;
60 typedef accumulator::has_stop::no has_stop;
61 typedef accumulator::when_pix::use_v when_pix;
96 struct land :
public mln::accu::internal::base< bool, land >
98 typedef bool argument;
105 void take_as_init_(
const argument& t);
107 void take(
const argument& t);
110 void untake(
const argument& t);
111 void untake(
const land& other);
126 # ifndef MLN_INCLUDE_ONLY
142 void land::take_as_init_(
const argument& t)
148 void land::take(
const argument& t)
156 land::take(
const land& other)
158 nfalse_ += other.nfalse_;
162 void land::untake(
const argument& t)
170 land::untake(
const land& other)
172 mln_precondition(other.nfalse_ <= nfalse_);
173 nfalse_ -= other.nfalse_;
190 # endif // ! MLN_INCLUDE_ONLY
196 #endif // ! MLN_ACCU_LOGIC_LAND_HH