spot 2.12.2
|
An acceptance mark. More...
#include <spot/twa/acc.hh>
Public Member Functions | |
mark_t ()=default | |
Initialize an empty mark_t. More... | |
template<class iterator > | |
mark_t (const iterator &begin, const iterator &end) | |
Create a mark_t from a range of set numbers. More... | |
mark_t (std::initializer_list< unsigned > vals) | |
Create a mark_t from a list of set numbers. More... | |
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. More... | |
bool | proper_subset (mark_t m) const |
Whether the set of bits represented by *this is a proper subset of those represented by m. More... | |
unsigned | count () const |
Number of bits sets. More... | |
unsigned | max_set () const |
The number of the highest set used plus one. More... | |
unsigned | min_set () const |
The number of the lowest set used plus one. More... | |
mark_t | lowest () const |
A mark_t where all bits have been removed except the lowest one. More... | |
bool | is_singleton () const |
Whether the mark contains only one bit set. More... | |
bool | has_many () const |
Whether the mark contains at least two bits set. More... | |
mark_t & | remove_some (unsigned n) |
Remove n bits that where set. More... | |
template<class iterator > | |
void | fill (iterator here) const |
Fill a container with the indices of the bits that are set. More... | |
spot::internal::mark_container | sets () const |
Returns some iterable object that contains the used sets. More... | |
std::string | as_string () const |
Static Public Member Functions | |
static constexpr unsigned | max_accsets () |
The maximum number of acceptance sets supported by this implementation. More... | |
static mark_t | all () |
A mark_t with all bits set to one. More... | |
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.
|
default |
Initialize an empty mark_t.
|
inline |
Create a mark_t from a range of set numbers.
|
inline |
Create a mark_t from a list of set numbers.
|
inlinestatic |
A mark_t with all bits set to one.
Beware that all bits are sets, not just the bits used in the acceptance condition. This class is unaware of the acceptance condition.
|
inline |
Number of bits sets.
|
inline |
Fill a container with the indices of the bits that are set.
|
inline |
Whether the mark contains at least two bits set.
|
inline |
Whether the mark contains only one bit set.
|
inline |
A mark_t where all bits have been removed except the lowest one.
For instance if this contains {1,3,8}, the output is {1}.
|
inlinestaticconstexpr |
The maximum number of acceptance sets supported by this implementation.
The value can be changed at compile-time using configure's –enable-max-accsets=N option.
|
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.
|
inline |
The number of the lowest set used plus one.
If no set is used, this returns 0. If the sets {1,3,8} are used, this returns 2.
|
inline |
Whether the set of bits represented by *this is a proper subset of those represented by m.
|
inline |
Remove n bits that where set.
If there are less than n bits set, the output is empty.
|
inline |
Returns some iterable object that contains the used sets.
|
inline |
Whether the set of bits represented by *this is a subset of those represented by m.