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

#include <mim/util/sets.h>

Classes

class  iterator
 

Public Member Functions

Construction
constexpr Set (const Set &) noexcept=default
 
constexpr Set (Set &&) noexcept=default
 
constexpr Set () noexcept=default
 Null set.
 
constexpr Set (D *d) noexcept
 Uniq set.
 
constexpr Setoperator= (const Set &) noexcept=default
 
Getters
constexpr size_t size () const noexcept
 
constexpr bool empty () const noexcept
 Is empty?
 
constexpr operator bool () const noexcept
 Not empty?
 
Check Membership
bool contains (D *d) const noexcept
 Is $d \in this$?.
 
bool has_intersection (Set other) const noexcept
 Is $this \cap other \neq \emptyset$?.
 
Iterators
constexpr iterator begin () const noexcept
 
constexpr iterator end () const noexcept
 
Comparisons
constexpr bool operator== (Set other) const noexcept
 
constexpr bool operator!= (Set other) const noexcept
 
Output
std::ostream & stream (std::ostream &os) const
 
void dump () const
 

Friends

class Sets
 
std::ostream & operator<< (std::ostream &os, Set set)
 

Detailed Description

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

Definition at line 117 of file sets.h.

Constructor & Destructor Documentation

◆ Set() [1/4]

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

◆ Set() [2/4]

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

◆ Set() [3/4]

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

Null set.

◆ Set() [4/4]

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

Uniq set.

Definition at line 219 of file sets.h.

Member Function Documentation

◆ begin()

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

Definition at line 318 of file sets.h.

◆ contains()

template<class D, size_t N = 16>
bool mim::Sets< D, N >::Set::contains ( D * d) const
inlinenoexcept

Is $d \in this$?.

Definition at line 247 of file sets.h.

Referenced by has_intersection().

◆ dump()

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

Definition at line 349 of file sets.h.

References stream().

◆ empty()

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

Is empty?

Definition at line 235 of file sets.h.

Referenced by has_intersection(), mim::Def::is_closed(), mim::Def::is_open(), and mim::VarRewriter::rewrite_imm().

◆ end()

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

Definition at line 325 of file sets.h.

◆ has_intersection()

template<class D, size_t N = 16>
bool mim::Sets< D, N >::Set::has_intersection ( Set other) const
inlinenodiscardnoexcept

Is $this \cap other \neq \emptyset$?.

Definition at line 262 of file sets.h.

References contains(), and empty().

Referenced by mim::Nest::contains(), and mim::plug::clos::ClosConvPrep::from_outer_scope().

◆ operator bool()

template<class D, size_t N = 16>
mim::Sets< D, N >::Set::operator bool ( ) const
inlineexplicitconstexprnoexcept

Not empty?

Definition at line 240 of file sets.h.

◆ operator!=()

template<class D, size_t N = 16>
bool mim::Sets< D, N >::Set::operator!= ( Set other) const
inlineconstexprnoexcept

Definition at line 334 of file sets.h.

◆ operator=()

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

◆ operator==()

template<class D, size_t N = 16>
bool mim::Sets< D, N >::Set::operator== ( Set other) const
inlineconstexprnoexcept

Definition at line 333 of file sets.h.

◆ size()

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

Definition at line 227 of file sets.h.

◆ stream()

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

Definition at line 339 of file sets.h.

Referenced by dump(), and operator<<.

Friends And Related Symbol Documentation

◆ operator<<

template<class D, size_t N = 16>
std::ostream & operator<< ( std::ostream & os,
Set set )
friend

Definition at line 366 of file sets.h.

References stream().

◆ Sets

template<class D, size_t N = 16>
friend class Sets
friend

Definition at line 365 of file sets.h.

References Sets.

Referenced by Sets.


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