20 #ifndef PALUDIS_GUARD_PALUDIS_UTIL_OPTIONS_HH 21 #define PALUDIS_GUARD_PALUDIS_UTIL_OPTIONS_HH 1 25 #include <initializer_list> 70 void add(
const unsigned);
75 void remove(
const unsigned);
100 bool test(
const unsigned)
const;
112 unsigned highest_bit()
const;
123 template <
typename E_>
133 Options(std::initializer_list<E_> e)
135 for (
auto i(e.begin()), i_end(e.end()) ;
137 _store.
add(static_cast<unsigned>(*i));
146 result._store.
add(static_cast<unsigned>(e));
155 _store.
add(static_cast<unsigned>(e));
165 result._store.
remove(static_cast<unsigned>(e));
174 _store.
remove(static_cast<unsigned>(e));
184 result._store.
combine(e._store);
228 bool operator[] (
const E_ & e)
const 230 return _store.
test(static_cast<unsigned>(e));
246 return ! _store.
any();
Definition: options.hh:48
Definition: about_metadata-fwd.hh:23
void intersect(const OptionsStore &)
bool test(const unsigned) const
bool any() const
Definition: options.hh:236
bool none() const
Definition: options.hh:244
Generator operator&(const Generator &, const Generator &) PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE
void combine(const OptionsStore &)
void subtract(const OptionsStore &)
Definition: options-fwd.hh:34
FilteredGenerator operator|(const FilteredGenerator &, const Filter &) PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE
void remove(const unsigned)
Generator operator+(const Generator &, const Generator &) PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE
unsigned highest_bit() const
E_ highest_bit() const
Definition: options.hh:254
#define PALUDIS_VISIBLE
Definition: attributes.hh:59
Options & subtract(const Options< E_ > &e)
Definition: options.hh:219