26 #ifndef MLN_ACCU_LOGIC_LOR_HH
27 # define MLN_ACCU_LOGIC_LOR_HH
35 # include <mln/core/concept/meta_accumulator.hh>
36 # include <mln/accu/internal/base.hh>
56 struct accumulator_< accu::logic::lor >
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;
95 struct lor :
public mln::accu::internal::base< bool, lor >
97 typedef bool argument;
104 void take_as_init_(
const argument& t);
106 void take(
const argument& t);
109 void untake(
const argument& t);
110 void untake(
const lor& other);
124 # ifndef MLN_INCLUDE_ONLY
140 void lor::take_as_init_(
const argument& t)
146 void lor::take(
const argument& t)
154 lor::take(
const lor& other)
156 ntrue_ += other.ntrue_;
160 void lor::untake(
const argument& t)
168 lor::untake(
const lor& other)
170 mln_precondition(other.ntrue_ <= ntrue_);
171 ntrue_ -= other.ntrue_;
188 # endif // ! MLN_INCLUDE_ONLY
195 #endif // ! MLN_ACCU_LOGIC_LOR_HH