FLOPC++
Public Member Functions | Private Attributes | Friends | List of all members
flopc::MP_subset< nbr > Class Template Reference

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

#include <MP_set.hpp>

Inheritance diagram for flopc::MP_subset< nbr >:
flopc::MP_set flopc::MP_set_base flopc::MP_index flopc::Named flopc::MP_index_base

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 (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_domainoperator() (const SUBSETREF &s)
int evaluate (const vector< MP_index * > &I) const
void insert (const 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.
- Public Member Functions inherited from flopc::MP_set
 MP_set (int i=0)
 constructs a set with specific cardinality.
MP_domain operator() (const MP_index_exp &i) const
 Constructs an MP_domain on the stack given an index expression into the set.
 operator MP_domain () const
 constructs an MP_domain from the MP_set.
MP_domain such_that (const MP_boolean &b)
 constructs a domain by subsetting this MP_set where the MP_boolean evaluates to 'true'
void cyclic ()
int last ()
- Public Member Functions inherited from flopc::MP_set_base
 MP_set_base ()
int check (int i) const
int checkStage (int i) const
virtual int isStage () const
- Public Member Functions inherited from flopc::MP_index
 MP_index ()
 Default constructor.
int evaluate () const
- Public Member Functions inherited from flopc::MP_index_base
virtual MP_indexgetIndex () const =0
virtual MP_domain getDomain (MP_set *s) const =0
- Public Member Functions inherited from flopc::Named
string getName () const
void setName (const string &n)

Private Attributes

vector< const MP_set * > S
std::map< std::vector< int >, int > elements

Friends

class MP_domain_subset< nbr >
class SubsetRef< nbr >

Additional Inherited Members

- Static Public Member Functions inherited from flopc::MP_set
static MP_setgetEmpty ()
 gets the distinct 'empty' MP_set.
- Public Attributes inherited from flopc::MP_set_base
bool Cyclic
- Protected Member Functions inherited from flopc::MP_index_base
 MP_index_base ()
virtual ~MP_index_base ()

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 162 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 166 of file MP_set.hpp.

References flopc::MP_subset< nbr >::S.

template<int nbr>
flopc::MP_subset< nbr >::MP_subset ( vector< const MP_set * >  s)
inline

Definition at line 185 of file MP_set.hpp.

template<int nbr>
flopc::MP_subset< nbr >::~MP_subset ( )
inline

Definition at line 187 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 174 of file MP_set.hpp.

References flopc::MP_subset< nbr >::elements.

template<int nbr>
int flopc::MP_subset< nbr >::evaluate ( const vector< MP_index * > &  I) const
inline

Definition at line 211 of file MP_set.hpp.

References flopc::MP_subset< nbr >::elements, flopc::outOfBound, and flopc::pos().

template<int nbr>
void flopc::MP_subset< nbr >::insert ( const vector< int > &  args)
inline
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 242 of file MP_set.hpp.

References flopc::MP_subset< nbr >::insert().

Definition at line 245 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 189 of file MP_set.hpp.

References flopc::MP_subset< nbr >::elements, flopc::outOfBound, and flopc::pos().

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 199 of file MP_set.hpp.

template<int nbr>
MP_domain& flopc::MP_subset< nbr >::operator() ( const SUBSETREF s)
inline

Definition at line 207 of file MP_set.hpp.

template<int nbr>
virtual int flopc::MP_subset< nbr >::size ( ) const
inlinevirtual

getter for the cardinality of this MP_set.

Reimplemented from flopc::MP_set.

Definition at line 252 of file MP_set.hpp.

References flopc::MP_subset< nbr >::elements.

Friends And Related Function Documentation

template<int nbr>
friend class MP_domain_subset< nbr >
friend

Definition at line 163 of file MP_set.hpp.

template<int nbr>
friend class SubsetRef< nbr >
friend

Definition at line 164 of file MP_set.hpp.

Member Data Documentation

template<int nbr>
std::map<std::vector<int>, int> flopc::MP_subset< nbr >::elements
private
template<int nbr>
vector<const MP_set*> flopc::MP_subset< nbr >::S
private

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