mc2lib
|
Abstracts over container library's set implementation. More...
#include <sets.hpp>
Public Types | |
typedef Ts::Element | Element |
typedef Ts::SetContainer | Container |
Public Member Functions | |
Set () | |
Set (Container s) | |
const Container & | get () const |
bool | operator== (const Set &rhs) const |
bool | operator!= (const Set &rhs) const |
const Element & | Insert (const Element &e, bool assert_unique=false) |
const Element & | Insert (Element &&e, bool assert_unique=false) |
bool | Erase (const Element &e, bool assert_exists=false) |
template<class FilterFunc > | |
Set | Filter (FilterFunc filterFunc) const |
void | Clear () |
bool | Contains (const Element &e) const |
Set & | operator|= (const Set &rhs) |
Set & | operator|= (Set &&rhs) |
Set & | operator-= (const Set &rhs) |
Set & | operator &= (const Set &rhs) |
std::size_t | size () const |
bool | empty () const |
bool | SubsetEq (const Set &s) const |
bool | Subset (const Set &s) const |
Protected Attributes | |
Container | set_ |
Abstracts over container library's set implementation.
Provides additional functions and operators not provided in the standard library.
typedef Ts::SetContainer mc2lib::sets::Set< Ts >::Container |
typedef Ts::Element mc2lib::sets::Set< Ts >::Element |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
Erase element.
e | Element to be erased. |
assert_exists | Assert that element exists. |
|
inline |
|
inline |
Provide access to underlying container.
|
inline |
Insert element.
e | Element to be inserted. |
assert_unique | Assert that element does not exist in container. |
|
inline |
Insert element.
e | Element to be inserted. |
assert_unique | Assert that element does not exist in container. |
|
inline |
Set intersection
|
inline |
|
inline |
Set difference.
|
inline |
|
inline |
Set union.
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |