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_domain.hpp>

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

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())
 
const MP_domainoperator() (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. More...
 
- Public Member Functions inherited from flopc::MP_set
 MP_set (int i=0)
 constructs a set with specific cardinality. More...
 
MP_domain operator() (const MP_index_exp &i) const
 Constructs an MP_domain on the stack given an index expression into the set. More...
 
 operator MP_domain () const
 constructs an MP_domain from the MP_set. More...
 
MP_domain such_that (const MP_boolean &b)
 constructs a domain by subsetting this MP_set where the MP_boolean evaluates to 'true' More...
 
void cyclic ()
 setter for 'cyclic' property More...
 
int last ()
 
- Public Member Functions inherited from flopc::MP_set_base
 MP_set_base ()
 
void display () const
 
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. More...
 
int evaluate () const
 
bool isInstantiated () const
 interrogate state of instatiation of data. More...
 
void assign (int i)
 Setter for the index. More...
 
void unInstantiate ()
 unsetter for instatiated. More...
 
void instantiate ()
 setter for instatiated. More...
 
MP_indexgetIndex () const
 getter for MP_index * data type. More...
 
virtual MP_domain getDomain (MP_set *s) const
 Getter for domain over which this index is applied. More...
 
- Public Member Functions inherited from flopc::Named
std::string getName () const
 
void setName (const std::string &n)
 

Private Attributes

std::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. More...
 
- Static Public Member Functions inherited from flopc::MP_index
static MP_indexgetEmpty ()
 returns a reference to the distinct "empty" index. More...
 
- Public Attributes inherited from flopc::MP_set_base
bool Cyclic
 
- Static Public Attributes inherited from flopc::MP_index
static MP_indexAny
 
- 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 23 of file MP_domain.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>
const 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.

Definition at line 249 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 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 files: