mc2lib
Classes | Functions
mc2lib::sets Namespace Reference

Sets and maps exposed in a restricted set of set theory. More...

Classes

class  Relation
 
class  RelationOp
 
class  RelationSeq
 
class  Set
 Abstracts over container library's set implementation. More...
 
struct  Types
 Helper class to instantiate types used by Set, Relation, etc. More...
 

Functions

template<class T >
bool AllBitmask (T mask, T all)
 
template<class T >
bool AnyBitmask (T mask, T any)
 
template<class Ts >
Set< Ts > operator| (const Set< Ts > &lhs, const Set< Ts > &rhs)
 
template<class Ts >
Set< Ts > operator| (Set< Ts > &&lhs, const Set< Ts > &rhs)
 
template<class Ts >
Set< Ts > operator| (const Set< Ts > &lhs, Set< Ts > &&rhs)
 
template<class Ts >
Set< Ts > operator| (Set< Ts > &&lhs, Set< Ts > &&rhs)
 
template<class Ts >
Set< Ts > operator- (const Set< Ts > &lhs, const Set< Ts > &rhs)
 
template<class Ts >
Set< Ts > operator- (Set< Ts > &&lhs, const Set< Ts > &rhs)
 
template<class Ts >
Set< Ts > operator- (const Set< Ts > &lhs, Set< Ts > &&rhs)
 
template<class Ts >
Set< Ts > operator- (Set< Ts > &&lhs, Set< Ts > &&rhs)
 
template<class Ts >
Set< Ts > operator & (const Set< Ts > &lhs, const Set< Ts > &rhs)
 
template<class Ts >
Set< Ts > operator & (Set< Ts > &&lhs, const Set< Ts > &rhs)
 
template<class Ts >
Set< Ts > operator & (const Set< Ts > &lhs, Set< Ts > &&rhs)
 
template<class Ts >
Set< Ts > operator & (Set< Ts > &&lhs, Set< Ts > &&rhs)
 
template<class Ts >
Relation< Ts > operator* (const Set< Ts > &lhs, const Set< Ts > &rhs)
 
template<class Ts >
Relation< Ts > operator| (const Relation< Ts > &lhs, const Relation< Ts > &rhs)
 
template<class Ts >
Relation< Ts > operator| (Relation< Ts > &&lhs, const Relation< Ts > &rhs)
 
template<class Ts >
Relation< Ts > operator| (const Relation< Ts > &lhs, Relation< Ts > &&rhs)
 
template<class Ts >
Relation< Ts > operator| (Relation< Ts > &&lhs, Relation< Ts > &&rhs)
 
template<class Ts >
Relation< Ts > operator- (const Relation< Ts > &lhs, const Relation< Ts > &rhs)
 
template<class Ts >
Relation< Ts > operator- (Relation< Ts > &&lhs, const Relation< Ts > &rhs)
 
template<class Ts >
Relation< Ts > operator- (const Relation< Ts > &lhs, Relation< Ts > &&rhs)
 
template<class Ts >
Relation< Ts > operator- (Relation< Ts > &&lhs, Relation< Ts > &&rhs)
 
template<class Ts >
Relation< Ts > operator & (const Relation< Ts > &lhs, const Relation< Ts > &rhs)
 
template<class Ts >
Relation< Ts > operator & (Relation< Ts > &&lhs, const Relation< Ts > &rhs)
 
template<class Ts >
Relation< Ts > operator & (const Relation< Ts > &lhs, Relation< Ts > &&rhs)
 
template<class Ts >
Relation< Ts > operator & (Relation< Ts > &&lhs, Relation< Ts > &&rhs)
 
template<class Ts >
RelationSeq< Ts > operator+ (const RelationSeq< Ts > &lhs, const Relation< Ts > &rhs)
 
template<class Ts >
RelationSeq< Ts > operator+ (RelationSeq< Ts > &&lhs, const Relation< Ts > &rhs)
 
template<class Ts >
RelationSeq< Ts > operator+ (const RelationSeq< Ts > &lhs, Relation< Ts > &&rhs)
 
template<class Ts >
RelationSeq< Ts > operator+ (RelationSeq< Ts > &&lhs, Relation< Ts > &&rhs)
 
template<class Ts >
RelationSeq< Ts > operator+ (const RelationSeq< Ts > &lhs, const RelationSeq< Ts > &rhs)
 
template<class Ts >
RelationSeq< Ts > operator+ (RelationSeq< Ts > &&lhs, const RelationSeq< Ts > &rhs)
 
template<class Ts >
RelationSeq< Ts > operator+ (const RelationSeq< Ts > &lhs, RelationSeq< Ts > &&rhs)
 
template<class Ts >
RelationSeq< Ts > operator+ (RelationSeq< Ts > &&lhs, RelationSeq< Ts > &&rhs)
 

Detailed Description

Sets and maps exposed in a restricted set of set theory.

Function Documentation

§ AllBitmask()

template<class T >
bool mc2lib::sets::AllBitmask ( mask,
all 
)
inline

Checks that a bit mask has all given bits set.

Parameters
maskBit mask to check.
allBit mask to check against.
Returns
True if all bits in all are also set in mask, false otherwise.

§ AnyBitmask()

template<class T >
bool mc2lib::sets::AnyBitmask ( mask,
any 
)
inline

Checks that a bit mask has any of given bits set.

Parameters
maskBit mask to check.
anyBit mask to check against.
Returns
True if at least any one of the bits in any is set in mask.

§ operator &() [1/8]

template<class Ts >
Set<Ts> mc2lib::sets::operator& ( const Set< Ts > &  lhs,
const Set< Ts > &  rhs 
)
inline

§ operator &() [2/8]

template<class Ts >
Set<Ts> mc2lib::sets::operator& ( Set< Ts > &&  lhs,
const Set< Ts > &  rhs 
)
inline

§ operator &() [3/8]

template<class Ts >
Set<Ts> mc2lib::sets::operator& ( const Set< Ts > &  lhs,
Set< Ts > &&  rhs 
)
inline

§ operator &() [4/8]

template<class Ts >
Set<Ts> mc2lib::sets::operator& ( Set< Ts > &&  lhs,
Set< Ts > &&  rhs 
)
inline

§ operator &() [5/8]

template<class Ts >
Relation<Ts> mc2lib::sets::operator& ( const Relation< Ts > &  lhs,
const Relation< Ts > &  rhs 
)
inline

§ operator &() [6/8]

template<class Ts >
Relation<Ts> mc2lib::sets::operator& ( Relation< Ts > &&  lhs,
const Relation< Ts > &  rhs 
)
inline

§ operator &() [7/8]

template<class Ts >
Relation<Ts> mc2lib::sets::operator& ( const Relation< Ts > &  lhs,
Relation< Ts > &&  rhs 
)
inline

§ operator &() [8/8]

template<class Ts >
Relation<Ts> mc2lib::sets::operator& ( Relation< Ts > &&  lhs,
Relation< Ts > &&  rhs 
)
inline

§ operator*()

template<class Ts >
Relation<Ts> mc2lib::sets::operator* ( const Set< Ts > &  lhs,
const Set< Ts > &  rhs 
)
inline

§ operator+() [1/8]

template<class Ts >
RelationSeq<Ts> mc2lib::sets::operator+ ( const RelationSeq< Ts > &  lhs,
const Relation< Ts > &  rhs 
)
inline

§ operator+() [2/8]

template<class Ts >
RelationSeq<Ts> mc2lib::sets::operator+ ( RelationSeq< Ts > &&  lhs,
const Relation< Ts > &  rhs 
)
inline

§ operator+() [3/8]

template<class Ts >
RelationSeq<Ts> mc2lib::sets::operator+ ( const RelationSeq< Ts > &  lhs,
Relation< Ts > &&  rhs 
)
inline

§ operator+() [4/8]

template<class Ts >
RelationSeq<Ts> mc2lib::sets::operator+ ( RelationSeq< Ts > &&  lhs,
Relation< Ts > &&  rhs 
)
inline

§ operator+() [5/8]

template<class Ts >
RelationSeq<Ts> mc2lib::sets::operator+ ( const RelationSeq< Ts > &  lhs,
const RelationSeq< Ts > &  rhs 
)
inline

§ operator+() [6/8]

template<class Ts >
RelationSeq<Ts> mc2lib::sets::operator+ ( RelationSeq< Ts > &&  lhs,
const RelationSeq< Ts > &  rhs 
)
inline

§ operator+() [7/8]

template<class Ts >
RelationSeq<Ts> mc2lib::sets::operator+ ( const RelationSeq< Ts > &  lhs,
RelationSeq< Ts > &&  rhs 
)
inline

§ operator+() [8/8]

template<class Ts >
RelationSeq<Ts> mc2lib::sets::operator+ ( RelationSeq< Ts > &&  lhs,
RelationSeq< Ts > &&  rhs 
)
inline

§ operator-() [1/8]

template<class Ts >
Set<Ts> mc2lib::sets::operator- ( const Set< Ts > &  lhs,
const Set< Ts > &  rhs 
)
inline

§ operator-() [2/8]

template<class Ts >
Set<Ts> mc2lib::sets::operator- ( Set< Ts > &&  lhs,
const Set< Ts > &  rhs 
)
inline

§ operator-() [3/8]

template<class Ts >
Set<Ts> mc2lib::sets::operator- ( const Set< Ts > &  lhs,
Set< Ts > &&  rhs 
)
inline

§ operator-() [4/8]

template<class Ts >
Set<Ts> mc2lib::sets::operator- ( Set< Ts > &&  lhs,
Set< Ts > &&  rhs 
)
inline

§ operator-() [5/8]

template<class Ts >
Relation<Ts> mc2lib::sets::operator- ( const Relation< Ts > &  lhs,
const Relation< Ts > &  rhs 
)
inline

§ operator-() [6/8]

template<class Ts >
Relation<Ts> mc2lib::sets::operator- ( Relation< Ts > &&  lhs,
const Relation< Ts > &  rhs 
)
inline

§ operator-() [7/8]

template<class Ts >
Relation<Ts> mc2lib::sets::operator- ( const Relation< Ts > &  lhs,
Relation< Ts > &&  rhs 
)
inline

§ operator-() [8/8]

template<class Ts >
Relation<Ts> mc2lib::sets::operator- ( Relation< Ts > &&  lhs,
Relation< Ts > &&  rhs 
)
inline

§ operator|() [1/8]

template<class Ts >
Set<Ts> mc2lib::sets::operator| ( const Set< Ts > &  lhs,
const Set< Ts > &  rhs 
)
inline

§ operator|() [2/8]

template<class Ts >
Set<Ts> mc2lib::sets::operator| ( Set< Ts > &&  lhs,
const Set< Ts > &  rhs 
)
inline

§ operator|() [3/8]

template<class Ts >
Set<Ts> mc2lib::sets::operator| ( const Set< Ts > &  lhs,
Set< Ts > &&  rhs 
)
inline

§ operator|() [4/8]

template<class Ts >
Set<Ts> mc2lib::sets::operator| ( Set< Ts > &&  lhs,
Set< Ts > &&  rhs 
)
inline

§ operator|() [5/8]

template<class Ts >
Relation<Ts> mc2lib::sets::operator| ( const Relation< Ts > &  lhs,
const Relation< Ts > &  rhs 
)
inline

§ operator|() [6/8]

template<class Ts >
Relation<Ts> mc2lib::sets::operator| ( Relation< Ts > &&  lhs,
const Relation< Ts > &  rhs 
)
inline

§ operator|() [7/8]

template<class Ts >
Relation<Ts> mc2lib::sets::operator| ( const Relation< Ts > &  lhs,
Relation< Ts > &&  rhs 
)
inline

§ operator|() [8/8]

template<class Ts >
Relation<Ts> mc2lib::sets::operator| ( Relation< Ts > &&  lhs,
Relation< Ts > &&  rhs 
)
inline