27 #ifndef MLN_ACCU_COUNT_LABELS_HH
28 # define MLN_ACCU_COUNT_LABELS_HH
35 # include <mln/accu/internal/base.hh>
36 # include <mln/core/concept/meta_accumulator.hh>
37 # include <mln/metal/is_a.hh>
43 namespace value {
template <
typename E>
struct Symbolic; }
103 # ifndef MLN_INCLUDE_ONLY
105 template <
typename L>
112 template <
typename L>
118 deja_vu_.resize(mln_max(L),
false);
121 template <
typename L>
135 template <
typename L>
140 count_labels_ += other.count_labels_;
141 for (
unsigned i = 0; i < deja_vu_.size(); ++i)
142 deja_vu_[i] = deja_vu_[i] || other.deja_vu_[i];
145 template <
typename L>
151 return count_labels_ - 1;
154 template <
typename L>
162 template <
typename L>
170 # endif // ! MLN_INCLUDE_ONLY
177 #endif // ! MLN_ACCU_COUNT_LABELS_HH