|
| mark_t ()=default |
| Initialize an empty mark_t.
|
|
template<class iterator > |
| mark_t (const iterator &begin, const iterator &end) |
| Create a mark_t from a range of set numbers.
|
|
| mark_t (std::initializer_list< unsigned > vals) |
| Create a mark_t from a list of set numbers.
|
|
| mark_t (unsigned i) |
|
size_t | hash () const noexcept |
|
bool | operator== (unsigned o) const |
|
bool | operator!= (unsigned o) const |
|
bool | operator== (mark_t o) const |
|
bool | operator!= (mark_t o) const |
|
bool | operator< (mark_t o) const |
|
bool | operator<= (mark_t o) const |
|
bool | operator> (mark_t o) const |
|
bool | operator>= (mark_t o) const |
|
| operator bool () const |
|
bool | has (unsigned u) const |
|
void | set (unsigned u) |
|
void | clear (unsigned u) |
|
mark_t & | operator&= (mark_t r) |
|
mark_t & | operator|= (mark_t r) |
|
mark_t & | operator-= (mark_t r) |
|
mark_t & | operator^= (mark_t r) |
|
mark_t | operator& (mark_t r) const |
|
mark_t | operator| (mark_t r) const |
|
mark_t | operator- (mark_t r) const |
|
mark_t | operator~ () const |
|
mark_t | operator^ (mark_t r) const |
|
mark_t | operator<< (unsigned i) const |
|
mark_t & | operator<<= (unsigned i) |
|
mark_t | operator>> (unsigned i) const |
|
mark_t & | operator>>= (unsigned i) |
|
mark_t | strip (mark_t y) const |
|
bool | subset (mark_t m) const |
| Whether the set of bits represented by *this is a subset of those represented by m.
|
|
bool | proper_subset (mark_t m) const |
| Whether the set of bits represented by *this is a proper subset of those represented by m.
|
|
unsigned | count () const |
| Number of bits sets.
|
|
unsigned | max_set () const |
| The number of the highest set used plus one.
|
|
unsigned | min_set () const |
| The number of the lowest set used plus one.
|
|
mark_t | lowest () const |
| A mark_t where all bits have been removed except the lowest one.
|
|
bool | is_singleton () const |
| Whether the mark contains only one bit set.
|
|
bool | has_many () const |
| Whether the mark contains at least two bits set.
|
|
mark_t & | remove_some (unsigned n) |
| Remove n bits that where set.
|
|
template<class iterator > |
void | fill (iterator here) const |
| Fill a container with the indices of the bits that are set.
|
|
spot::internal::mark_container | sets () const |
| Returns some iterable object that contains the used sets.
|
|
std::string | as_string () const |
|
An acceptance mark.
This type is used to represent a set of acceptance sets. It works (and is implemented) like a bit vector where bit at index i represents the membership to the i-th acceptance set.
Typically, each transition of an automaton is labeled by a mark_t that represents the membership of the transition to each of the acceptance sets.
For efficiency reason, the maximum number of acceptance sets (i.e., the size of the bit vector) supported is a compile-time constant. It can be changed by passing an option to the configure script of Spot.
unsigned spot::acc_cond::mark_t::max_set |
( |
| ) |
const |
|
inline |
The number of the highest set used plus one.
If no set is used, this returns 0, If the sets {1,3,8} are used, this returns 9.