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_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 ()
 
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
 
void assign (int i)
 
void unInstantiate ()
 
void instantiate ()
 
MP_indexgetIndex () const
 
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 = *new MP_index()
 
- 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.

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

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 >::evaluate ( const std::vector< MP_index * > &  I) const
inline

Definition at line 215 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 std::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 246 of file MP_set.hpp.

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

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

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

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

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::map<std::vector<int>, int> flopc::MP_subset< nbr >::elements
private
template<int nbr>
std::vector<const MP_set*> flopc::MP_subset< nbr >::S
private

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