MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::Sets< D, N > Class Template Reference

#include <mim/util/sets.h>

Inheritance diagram for mim::Sets< D, N >:
[legend]

Classes

class  Set
 

Public Member Functions

Construction
Setsoperator= (const Sets &)=delete
 
constexpr Sets () noexcept
 
constexpr Sets (const Sets &) noexcept=delete
 
constexpr Sets (Sets &&other) noexcept
 
Set Operations
Note
These operations do not modify the input set(s); they create a new Set.
Set create (Vector< D * > v)
 Create a Set wih all elements in v.
 
Set insert (Set s, D *d)
 Yields $s \cup \{d\}$.
 
Set merge (Set s1, Set s2)
 Yields $s_1 \cup s_2$.
 
Set erase (Set s, D *d)
 Yields $s \setminus \{d\}$.
 

DOT output

void dot ()
 
void dot (std::ostream &os) const
 
void swap (Sets &s1, Sets &s2) noexcept
 

Detailed Description

template<class D, size_t N = 16>
class mim::Sets< D, N >

Definition at line 13 of file sets.h.

Constructor & Destructor Documentation

◆ Sets() [1/3]

template<class D, size_t N = 16>
mim::Sets< D, N >::Sets ( )
inlineconstexprnoexcept

Definition at line 376 of file sets.h.

◆ Sets() [2/3]

template<class D, size_t N = 16>
mim::Sets< D, N >::Sets ( const Sets< D, N > & )
constexprdeletenoexcept

◆ Sets() [3/3]

template<class D, size_t N = 16>
mim::Sets< D, N >::Sets ( Sets< D, N > && other)
inlineconstexprnoexcept

Definition at line 379 of file sets.h.

Member Function Documentation

◆ create()

template<class D, size_t N = 16>
Set mim::Sets< D, N >::create ( Vector< D * > v)
inlinenodiscard

Create a Set wih all elements in v.

Definition at line 390 of file sets.h.

Referenced by mim::Sets< Def >::Set< Def >::erase(), and mim::Sets< Def >::Set< Def >::merge().

◆ dot() [1/2]

template<class D, size_t N = 16>
template void mim::Sets< D, N >::dot ( )
inline

Definition at line 553 of file sets.h.

Referenced by mim::Sets< Def >::Set< Def >::dot().

◆ dot() [2/2]

template<class D, size_t N = 16>
void mim::Sets< D, N >::dot ( std::ostream & os) const
inline

Definition at line 558 of file sets.h.

◆ erase()

template<class D, size_t N = 16>
Set mim::Sets< D, N >::erase ( Set s,
D * d )
inlinenodiscard

Yields $s \setminus \{d\}$.

Definition at line 515 of file sets.h.

Referenced by mim::Sets< Def >::Set< Def >::erase().

◆ insert()

template<class D, size_t N = 16>
Set mim::Sets< D, N >::insert ( Set s,
D * d )
inlinenodiscard

◆ merge()

template<class D, size_t N = 16>
Set mim::Sets< D, N >::merge ( Set s1,
Set s2 )
inlinenodiscard

Yields $s_1 \cup s_2$.

Definition at line 481 of file sets.h.

Referenced by mim::Sets< Def >::Set< Def >::merge().

◆ operator=()

template<class D, size_t N = 16>
Sets & mim::Sets< D, N >::operator= ( const Sets< D, N > & )
delete

Friends And Related Symbol Documentation

◆ swap

template<class D, size_t N = 16>
void swap ( Sets< D, N > & s1,
Sets< D, N > & s2 )
friend

Definition at line 566 of file sets.h.

Referenced by mim::Sets< Def >::Set< Def >::Sets(), and mim::Sets< Def >::Set< Def >::swap.


The documentation for this class was generated from the following files: