concepts::BaseSet< F > Class Template Reference

Set with operations and output operator. More...

#include <set.hh>

Public Member Functions

 BaseSet ()
 Standard Constructor. More...
 
 BaseSet (const concepts::Array< F > &a)
 Constructor, set is defined by an array. More...
 
template<class G >
 BaseSet (const G &set)
 Constructor, which uses the constructor of the base class std::set. More...
 
 BaseSet (const std::string &str)
 Constructor, set is defined by a string. More...
 
bool exist (F val) const
 Returns true, if a value is in the set. More...
 
bool isempty () const
 Returns true, if set is empty. More...
 
Set< F > operator&& (const Set< F > &set) const
 
Set< F > operator&& (Set< F > &set) const
 
Set< F > operator() (const Set< uint > &set) const
 Returns subset with indices set. More...
 
template<class G , class H >
Set< G * > operator() (G &(H::*fun)() const) const
 Returns element wise application of a member function, e.g. More...
 
template<class G , class H >
Set< G > operator() (G(H::*fun)() const) const
 Returns element wise application of a member function, e.g. More...
 
template<class G , class H , class I , class J >
Set< G > operator() (G(H::*fun)(I) const, J i) const
 Returns element wise application of a member function, e.g. More...
 
Set< F > operator- (const Set< F > &set) const
 
Set< F > operator- (Set< F > &set) const
 
Set< uint > operator== (const F val) const
 Returns the indices of elements with are equal to val. More...
 
BaseSet< F > & operator|= (const Set< F > &set)
 
Set< F > operator|| (const Set< F > &set) const
 
Set< F > operator|| (Set< F > &set) const
 
virtual ~BaseSet ()
 

Protected Types

typedef std::set< F >::const_iterator const_iterator_
 
typedef std::insert_iterator< std::set< F > > insert_iterator_
 

Protected Member Functions

virtual void difference_ (const_iterator_ first, const_iterator_ last, insert_iterator_ i) const
 Insert the set difference of this set with that between iterator first and second into i. More...
 
virtual std::ostream & info (std::ostream &os) const
 
virtual void intersection_ (const_iterator_ first, const_iterator_ last, insert_iterator_ i) const
 Insert the set intersection of this set with that between iterator first and second into i. More...
 
virtual void union_ (const_iterator_ first, const_iterator_ last, insert_iterator_ i) const
 Insert the set union of this set with that between iterator first and second into i. More...
 

Detailed Description

template<class F>
class concepts::BaseSet< F >

Set with operations and output operator.

Author
Kersten Schmidt, 2005
Robert Gruhlke, 2016

Definition at line 28 of file set.hh.

Member Typedef Documentation

◆ const_iterator_

template<class F >
typedef std::set<F>::const_iterator concepts::BaseSet< F >::const_iterator_
protected

Definition at line 114 of file set.hh.

◆ insert_iterator_

template<class F >
typedef std::insert_iterator<std::set<F> > concepts::BaseSet< F >::insert_iterator_
protected

Definition at line 115 of file set.hh.

Constructor & Destructor Documentation

◆ BaseSet() [1/4]

template<class F >
concepts::BaseSet< F >::BaseSet ( )
inline

Standard Constructor.

Definition at line 59 of file set.hh.

◆ BaseSet() [2/4]

template<class F >
concepts::BaseSet< F >::BaseSet ( const std::string &  str)

Constructor, set is defined by a string.

The values in the string str are separated by spaces. The definition of a int set could be done with "0 1 3 8 7".

Definition at line 153 of file set.hh.

◆ BaseSet() [3/4]

template<class F >
concepts::BaseSet< F >::BaseSet ( const concepts::Array< F > &  a)

Constructor, set is defined by an array.

Definition at line 162 of file set.hh.

◆ BaseSet() [4/4]

template<class F >
template<class G >
concepts::BaseSet< F >::BaseSet ( const G &  set)
inline

Constructor, which uses the constructor of the base class std::set.

Definition at line 72 of file set.hh.

◆ ~BaseSet()

template<class F >
virtual concepts::BaseSet< F >::~BaseSet ( )
inlinevirtual

Definition at line 73 of file set.hh.

Member Function Documentation

◆ difference_()

template<class F >
void concepts::BaseSet< F >::difference_ ( const_iterator_  first,
const_iterator_  last,
insert_iterator_  i 
) const
protectedvirtual

Insert the set difference of this set with that between iterator first and second into i.

Reimplemented in concepts::Set< IndexRange >.

Definition at line 242 of file set.hh.

◆ exist()

template<class F >
bool concepts::BaseSet< F >::exist ( val) const
inline

Returns true, if a value is in the set.

Definition at line 296 of file set.hh.

◆ info()

template<class F >
std::ostream & concepts::BaseSet< F >::info ( std::ostream &  os) const
protectedvirtual

Reimplemented in concepts::Set< IndexRange >.

Definition at line 301 of file set.hh.

◆ intersection_()

template<class F >
void concepts::BaseSet< F >::intersection_ ( const_iterator_  first,
const_iterator_  last,
insert_iterator_  i 
) const
protectedvirtual

Insert the set intersection of this set with that between iterator first and second into i.

Reimplemented in concepts::Set< IndexRange >.

Definition at line 230 of file set.hh.

◆ isempty()

template<class F >
bool concepts::BaseSet< F >::isempty ( ) const
inline

Returns true, if set is empty.

Definition at line 110 of file set.hh.

◆ operator&&() [1/2]

template<class F >
Set< F > concepts::BaseSet< F >::operator&& ( const Set< F > &  set) const
inline

Definition at line 216 of file set.hh.

◆ operator&&() [2/2]

template<class F >
Set< F > concepts::BaseSet< F >::operator&& ( Set< F > &  set) const
inline

Definition at line 223 of file set.hh.

◆ operator()() [1/4]

template<class F >
Set< F > concepts::BaseSet< F >::operator() ( const Set< uint > &  set) const
inline

Returns subset with indices set.

Definition at line 271 of file set.hh.

◆ operator()() [2/4]

template<class F >
template<class G , class H >
Set< G * > concepts::BaseSet< F >::operator() ( G &(H::*)() const  fun) const
inline

Returns element wise application of a member function, e.g.

Connector1::key()

Definition at line 181 of file set.hh.

◆ operator()() [3/4]

template<class F >
template<class G , class H >
Set< G > concepts::BaseSet< F >::operator() ( G(H::*)() const  fun) const
inline

Returns element wise application of a member function, e.g.

Key::key()

Definition at line 170 of file set.hh.

◆ operator()() [4/4]

template<class F >
template<class G , class H , class I , class J >
Set< G > concepts::BaseSet< F >::operator() ( G(H::*)(I) const  fun,
i 
) const
inline

Returns element wise application of a member function, e.g.

Connector1::vertex(uint i)

Definition at line 192 of file set.hh.

◆ operator-() [1/2]

template<class F >
Set< F > concepts::BaseSet< F >::operator- ( const Set< F > &  set) const
inline

Definition at line 248 of file set.hh.

◆ operator-() [2/2]

template<class F >
Set< F > concepts::BaseSet< F >::operator- ( Set< F > &  set) const
inline

Definition at line 255 of file set.hh.

◆ operator==()

template<class F >
Set< uint > concepts::BaseSet< F >::operator== ( const F  val) const
inline

Returns the indices of elements with are equal to val.

Definition at line 262 of file set.hh.

◆ operator|=()

template<class F >
BaseSet< F > & concepts::BaseSet< F >::operator|= ( const Set< F > &  set)
inline

Definition at line 288 of file set.hh.

◆ operator||() [1/2]

template<class F >
Set< F > concepts::BaseSet< F >::operator|| ( const Set< F > &  set) const
inline

Definition at line 202 of file set.hh.

◆ operator||() [2/2]

template<class F >
Set< F > concepts::BaseSet< F >::operator|| ( Set< F > &  set) const
inline

Definition at line 209 of file set.hh.

◆ union_()

template<class F >
void concepts::BaseSet< F >::union_ ( const_iterator_  first,
const_iterator_  last,
insert_iterator_  i 
) const
protectedvirtual

Insert the set union of this set with that between iterator first and second into i.

Reimplemented in concepts::Set< IndexRange >.

Definition at line 236 of file set.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich