# flopc::MP_subset< nbr > Class Template Reference
[Internal (private) interface.]

Internal representation of a "set". More...

`#include <MP_set.hpp>`

Inheritance diagram for flopc::MP_subset< nbr >:
[legend]
Collaboration diagram for flopc::MP_subset< nbr >:
[legend]

List of all members.

## Public Member Functions
| MP_subset (const MP_set &s1, const MP_set &s2=MP_set::getEmpty(), const MP_set &s3=MP_set::getEmpty(), const MP_set &s4=MP_set::getEmpty(), const MP_set &s5=MP_set::getEmpty())
void | display (const std::string &s="") const
| MP_subset (std::vector< const MP_set * > s)
| ~MP_subset ()
int | operator() (int i1, int i2=0, int i3=0, int i4=0, int i5=0)
SubsetRef< nbr > & | operator() (const MP_index_exp &i1, const MP_index_exp &i2=MP_index::getEmpty(), const MP_index_exp &i3=MP_index::getEmpty(), const MP_index_exp &i4=MP_index::getEmpty(), const MP_index_exp &i5=MP_index::getEmpty())
MP_domain & | operator() (const SUBSETREF &s)
int | evaluate (const std::vector< MP_index * > &I) const
void | insert (const std::vector< int > &args)
void | insert (int i1, int i2=0, int i3=0, int i4=0, int i5=0)
const InsertFunctor< nbr > & | insert (MP_index_exp i1, MP_index_exp i2=MP_index_exp::getEmpty(), MP_index_exp i3=MP_index_exp::getEmpty(), MP_index_exp i4=MP_index_exp::getEmpty(), MP_index_exp i5=MP_index_exp::getEmpty())
virtual int | size () const
| getter for the cardinality of this MP_set.
## Private Attributes
std::vector< const MP_set * > | S
std::map< std::vector< int >, int > | elements
## Friends
class | MP_domain_subset< nbr >
class | SubsetRef< nbr >

## Detailed Description

### template<int nbr>
class flopc::MP_subset< nbr >

Internal representation of a "set".

Note:
  FOR INTERNAL USE: This is not normally used directly by the calling code.
  this is often implicitly created with many expressions which may subset a set.

Definition at line 161 of file MP_set.hpp.

## Constructor & Destructor Documentation

template<int nbr>

flopc::MP_subset< nbr >::MP_subset | ( | const MP_set & | s1,
|  | const MP_set & | s2 = `MP_set::getEmpty()`,
|  | const MP_set & | s3 = `MP_set::getEmpty()`,
|  | const MP_set & | s4 = `MP_set::getEmpty()`,
|  | const MP_set & | s5 = `MP_set::getEmpty()` |
| ) |  |  | `[inline]`

Definition at line 165 of file MP_set.hpp.

template<int nbr>

flopc::MP_subset< nbr >::MP_subset | ( | std::vector< const MP_set * > | s | ) | `[inline]`

Definition at line 189 of file MP_set.hpp.

template<int nbr>

flopc::MP_subset< nbr >::~MP_subset | ( |  | ) | `[inline]`

Definition at line 191 of file MP_set.hpp.

## Member Function Documentation

template<int nbr>

void flopc::MP_subset< nbr >::display | ( | const std::string & | s = `""` | ) | const`[inline]`

Definition at line 172 of file MP_set.hpp.

template<int nbr>

int flopc::MP_subset< nbr >::operator() | ( | int | i1,
|  | int | i2 = `0`,
|  | int | i3 = `0`,
|  | int | i4 = `0`,
|  | int | i5 = `0` |
| ) |  |  | `[inline]`

Definition at line 193 of file MP_set.hpp.

template<int nbr>

SubsetRef<nbr>& flopc::MP_subset< nbr >::operator() | ( | const MP_index_exp & | i1,
|  | const MP_index_exp & | i2 = `MP_index::getEmpty()`,
|  | const MP_index_exp & | i3 = `MP_index::getEmpty()`,
|  | const MP_index_exp & | i4 = `MP_index::getEmpty()`,
|  | const MP_index_exp & | i5 = `MP_index::getEmpty()` |
| ) |  |  | `[inline]`

Definition at line 203 of file MP_set.hpp.

template<int nbr>

MP_domain& flopc::MP_subset< nbr >::operator() | ( | const SUBSETREF & | s | ) | `[inline]`

Definition at line 211 of file MP_set.hpp.

template<int nbr>

int flopc::MP_subset< nbr >::evaluate | ( | const std::vector< MP_index * > & | I | ) | const`[inline]`

Definition at line 215 of file MP_set.hpp.

template<int nbr>

void flopc::MP_subset< nbr >::insert | ( | const std::vector< int > & | args | ) | `[inline]`

Definition at line 230 of file MP_set.hpp.

template<int nbr>

void flopc::MP_subset< nbr >::insert | ( | int | i1,
|  | int | i2 = `0`,
|  | int | i3 = `0`,
|  | int | i4 = `0`,
|  | int | i5 = `0` |
| ) |  |  | `[inline]`

Definition at line 246 of file MP_set.hpp.

template<int nbr>

const InsertFunctor<nbr>& flopc::MP_subset< nbr >::insert | ( | MP_index_exp | i1,
|  | MP_index_exp | i2 = `MP_index_exp::getEmpty()`,
|  | MP_index_exp | i3 = `MP_index_exp::getEmpty()`,
|  | MP_index_exp | i4 = `MP_index_exp::getEmpty()`,
|  | MP_index_exp | i5 = `MP_index_exp::getEmpty()` |
| ) |  |  | `[inline]`

Definition at line 249 of file MP_set.hpp.

template<int nbr>

virtual int flopc::MP_subset< nbr >::size | ( |  | ) | const`[inline, virtual]`

getter for the cardinality of this MP_set.

Reimplemented from flopc::MP_set.

Definition at line 256 of file MP_set.hpp.

## Friends And Related Function Documentation

template<int nbr>

friend class MP_domain_subset< nbr >`[friend]`

Definition at line 162 of file MP_set.hpp.

template<int nbr>

friend class SubsetRef< nbr >`[friend]`

Definition at line 163 of file MP_set.hpp.

## Member Data Documentation

template<int nbr>

std::vector<const MP_set*> flopc::MP_subset< nbr >::S`[private]`

Definition at line 261 of file MP_set.hpp.

template<int nbr>

std::map<std::vector<int>, int> flopc::MP_subset< nbr >::elements`[private]`

Definition at line 262 of file MP_set.hpp.

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

- /home/coin/svn-release/Smi-0.93.1/FlopCpp/src/MP_set.hpp